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

相关推荐
kiros_wang4 分钟前
网络状态监听&WiFi信息获取:弱网提示、断网兜底方案
开发语言·网络·php
geovindu6 分钟前
rust: pool Pattern (续)
开发语言·后端·设计模式·rust·对象池简写模式
夏虫不可与之言冰6 分钟前
使用Flash Download Tool给ESP32烧录固件
c语言·c++·windows·单片机·物联网·iot
一条泥憨鱼8 分钟前
拦截器与过滤器:一次请求穿过 Spring 时,会先经过谁呢
java·开发语言·后端·spring
晴天的雨.9928 分钟前
【C++】 priority_queue知识点总结
开发语言·数据结构·c++
Shaoshing10 分钟前
二分模板(左右查询)
java·算法·二分
小七在进步10 分钟前
C++内存管理:new/delete vs malloc/free深度解析
android·java·c++
郑州光合科技余经理13 分钟前
本地生活服务系统:预约状态和进度通知接口怎么拆
java·开发语言·前端·javascript·后端·php·生活
AIFQuant17 分钟前
Python港股实时行情API接入:恒生股票数据获取与AH股溢价监控实战
开发语言·数据库·python·金融·实时数据api
蒲公英eric19 分钟前
线性回归与正则化:从最小二乘到岭回归、LASSO
人工智能·算法·数学建模·线性回归·岭回归·最小二乘·lasso