首页 > 代码库 > ACM——大数相加
ACM——大数相加
大数加法
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:2085 测试通过:543
描述
求两个非负整数(1000位以内)的和。
输入
两个非负整数(1000位以内),以空格分隔。
输出
两个非负整数的和。
样例输入
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=http://www.mamicode.com/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;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。