ACM——大数加算
5199 ワード
だいすうかさん
時間制限(通常/Java):1000 MS/3000 MS 実行メモリ制限:65536 KByte合計コミット:2085 試験合格:543
説明
2つの非負の整数(1000ビット以内)の和を求めます.
入力
2つの非負の整数(1000ビット以内)をスペースで区切ります.
しゅつりょく
2つの非負の整数の和.
サンプル入力
111111111111 222222222222
サンプル出力
333333333333
ヒント
テーマソース
GUOJ
時間制限(通常/Java):1000 MS/3000 MS 実行メモリ制限:65536 KByte合計コミット:2085 試験合格:543
説明
2つの非負の整数(1000ビット以内)の和を求めます.
入力
2つの非負の整数(1000ビット以内)をスペースで区切ります.
しゅつりょく
2つの非負の整数の和.
サンプル入力
111111111111 222222222222
サンプル出力
333333333333
ヒント
テーマソース
GUOJ
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str[1001];
char str2[1001];
for(int i=0;i<1001;i++){
str[i]='0';
str2[i]='0';
}
int index=1000;
int value=0;
string stp;
cin>>stp;
value=stp.length()-1;
while(value>=0){
str[index--]=stp[value--];
}
int index2=1000;
string stp2;
cin>>stp2;
value=stp2.length()-1;
while(value>=0){
str2[index2--]=stp2[value--];
}
char result[1001];
int plus=0;
for(int i=1000;i>=0;i--){
int temp=((str[i]-'0')+(str2[i]-'0')+plus)%10;
plus= ((str[i]-'0')+(str2[i]-'0')+plus)/10;
result[i]=(char)temp+'0';
}
int pos=0;
while(result[pos]=='0'){
pos++;
}
for(;pos<1001;pos++)
cout<<result[pos];
cout<<endl;
return 0;
}