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

相关推荐
二十雨辰几秒前
[Java]-场景题
java·开发语言
geovindu26 分钟前
java:Observer Pattern
java·开发语言·后端·观察者模式·设计模式·行为模式
Am-Chestnuts27 分钟前
通义千问任务清单怎么导出Word?用DS随心转保留层级和勾选项
开发语言·c#·word
LuminousCPP27 分钟前
数据结构 - 排序(二):快速排序从错误初版到优化版|双指针划分 + 三数取中 + 小区间插入优化
c语言·数据结构·笔记·算法·排序算法
hansang_IR37 分钟前
【题解】P9753 [CSP-S 2023] 消消乐
数据结构·c++·算法
liliangcsdn38 分钟前
基于信号强度的稀疏选股算法的探索分析
开发语言·python
竞赛考级题库42 分钟前
202606 青少年等级考试C/C++真题一级 建议答题时长:60min
java·c语言·c++
4SAPI43 分钟前
2026年大模型API接入选型指南:企业与个人用户的架构、稳定性与成本考量
大数据·开发语言·数据库·人工智能·架构·php
lmy_loveF1 小时前
go 切换go version 版本
开发语言·后端·golang
shehuiyuelaiyuehao1 小时前
算法40,模拟运算,替换所有的问号
数据结构·算法·leetcode