题目1003:A+B
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:12812
解决:5345
- 题目描述:
-
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。
- 输入:
-
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
- 输出:
-
请计算A+B的结果,并以正常形式输出,每组数据占一行。
- 样例输入:
-
-234,567,890 123,456,789
1,234 2,345,678
- 样例输出:
-
-111111101
2346912
- 来源:
- 2010年浙江大学计算机及软件工程研究生机试真题
- 分析:
- 大数的缩减版
#include<iostream>
#include<queue>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
long long a,b;
void change(string s,long long &a){
int f=,len=s.length(),i=;
if(s[i]=='-'){
f=-;
i++;
}
int j=;
a=;
for(;i<len;i++){
if(s[i]==',')
continue;
a*=;
a+=s[i]-'';
}
a*=f;
}
int main(){
string s;
while(cin>>s){
change(s,a);
cin>>s;
change(s,b);
cout<<a+b<<endl;
}
return ;
}