大整数加法
求两个不超过 200200 位的非负整数的和。
输入格式
有两行,每行是一个不超过 200200 位的非负整数,可能有多余的前导 00。
输出格式
一行,即相加后的结果。结果里不能有多余的前导 00,即如果结果是 342342,那么就不能输出为 03420342。
样例输入
22222222222222222222
33333333333333333333
样例输出
55555555555555555555
代码:
#include<iostream> #include<string.h> using namespace std; int main(){
char a[203],b[203]; cin>>a>>b; //设置结果的最大位数 int lenmax; if(strlen(a)>strlen(b)){ lenmax = strlen(a)+2; }else { lenmax = strlen(b)+2; } char *c= new char[lenmax]; int i =strlen(a)-1; int j =strlen(b)-1; int k=0,up=0,x,y; while (i>=0||j>=0) { if (i<0) x = 0; else x = a[i]-'0'; if (j<0) y = 0; else y = b[j]-'0'; int z =x+y+up; if (z>9) { z= z%10; up=1; }else { up=0; } c[k++]=z+'0'; i--; j--; } k--; //加完之后发现还有进位 if (up>0) { c[++k]='1'; } //可能存在a 和 b 出现00011这种情况,故需要剃掉0开始的 for (i = k; i >=0; i--) { if(c[i]!='0'){ k=i; break; } } // 输出结果 for(int i=k;i>=0;i--){ cout<<c[i]; } cout<<endl; }
因上求缘,果上努力~~~~ 作者:别关注我了,私信我吧,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/12677950.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人