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:倒序输出

相关推荐
爱装代码的小瓶子几秒前
【c++知识铺子】map和set的底层-红黑树
java·开发语言·c++
洛阳泰山1 分钟前
Java实现周易六爻自动排盘:根据卜卦的时间推算出天干地支
java·开发语言·周易·六爻
立志成为大牛的小牛3 分钟前
数据结构——五十七、插入排序(王道408)
数据结构·笔记·程序人生·考研·算法
apihz3 分钟前
随机英文姓名生成API接口详细教程:免费、简单、高效
android·java·运维·服务器·开发语言
兩尛4 分钟前
猴子爬山od
算法·华为od
雪域迷影4 分钟前
macOS中使用cJSON解析库解析JSON
c++·macos·json·c·cmake·pkg-config
亭上秋和景清5 分钟前
计算器回调函数
c语言·数据结构·算法
青山的青衫6 分钟前
【优先级队列(堆)+排序】LeetCode hot100+面试高频
算法·leetcode·面试
江湖人称贺行风7 分钟前
C++八股
c++·八股
识途老码8 分钟前
python开启ssh端口转发
开发语言·python·ssh