C++高精度算法--加法

一.头文件

1.<iostream>

2.<cstdio>

3.<cstring>

*cstring 速度更快,尽量不用string

二.代码

cpp 复制代码
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=1e5+10;
char s1[N],s2[N];
int a[N],b[N],c[N],lena,lenb,MAX,x;
int main(){
	cin>>s1>>s2;
	lena=strlen(s1);
	lenb=strlen(s2);
	MAX=max(lena,lenb);
	for(int i=0;i<lena;i++) a[i]=s1[lena-1-i]-'0'; 
	for(int i=0;i<lenb;i++) b[i]=s2[lenb-1-i]-'0';
	for(int i=0;i<MAX;i++){
		c[i]=a[i]+b[i]+x;
		x=c[i]/10;
		c[i]%=10;
	} 
	if(x) c[MAX++]=x; 
	for(int i=MAX-1;i>=0;i--){
		cout<<c[i]; 
	} 
	return 0;
}

三.代码解析

Line1-3:导入头文件

Line4:命名空间

Line5-7:变量

Line9:读入两个数

Line10-11:分别计算长度

Line12:计算长的一个

Line13-14:倒序

Line15-19:一位一位计算

Line20:预留数位

Line21-23:倒序输出

相关推荐
睡醒了叭13 小时前
图像分割-传统算法-区域分割
图像处理·人工智能·算法·计算机视觉
零雲13 小时前
Java面试:@Component和@Bean的区别是什么
java·开发语言·面试
代码游侠13 小时前
复习——网络基础知识
网络·笔记·网络协议·算法·http
沈阳信息学奥赛培训13 小时前
CCF GESP 2025/12/24 模拟测试 C++ 4级 编程题2
数据结构·算法
dddddppppp12313 小时前
c 模拟一个fat16文件系统
c语言·c++·算法
Jerry404_NotFound13 小时前
工厂方法模式
java·开发语言·jvm·工厂方法模式
微风欲寻竹影13 小时前
深入理解Java中的String
java·开发语言
代码or搬砖13 小时前
TransactionManager 详解、常见问题、解决方法
java·开发语言·spring
程序员佳佳13 小时前
文章标题:彻底抛弃OpenAI官方Key?实测GPT-5.2与Banana Pro(Gemini 3):这才是开发者的终极红利!
开发语言·人工智能·python·gpt·ai作画·api·midjourney
行走的bug...13 小时前
利用计算机辅助数学运算
人工智能·算法·机器学习