Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
39225 | Songgy_King | 大整数加法 | C++ | 通过 | 1 MS | 252 KB | 887 | 2024-01-31 10:09:29 |
#include <iostream> #include <string> using namespace std; int main() { string a,b; int a1[300],b1[300],c[300]; int la,lb,lc=0,l; //输入 cin>>a>>b; la=a.size(); lb=b.size(); l=la>lb?la:lb; //补齐两个数的长度 for(int i=0; i<l-la; i++) { a="0"+a; } for(int i=0; i<l-lb; i++) { b="0"+b; } //把string转化成int型 for(int i=0; i<a.size(); i++) { a1[i]=a[i]-'0'; b1[i]=b[i]-'0'; } //加法进位计算 int x=0; for(int i=a.size()-1; i>=0; i--) { c[lc]=(a1[i]+b1[i]+x)%10; x=(a1[i]+b1[i]+x)/10; lc++; } c[lc]=x; //输出 while(c[lc]==0) { lc--; } for(int i=lc; i>=0; i--) { cout<<c[i]; } return 0; }