首页 > 代码库 > POJ1503: Integer Inquiry(连续多个大整数加法运算)
POJ1503: Integer Inquiry(连续多个大整数加法运算)
1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 string sum; 5 const int max_len = 110; 6 string tool(string a){ 7 int dif = max_len - a.length(); 8 string s = ""; 9 for(int i=0;i<dif;i++){10 s += ‘0‘;11 }12 s+=a;13 return s;14 }15 void solve(string a){16 a = tool(a);17 sum = tool(sum);18 string ssum;19 ssum = tool(ssum);20 21 for(int i=max_len-1;i>=1;i--){22 int temp = (sum[i] -‘0‘) + (a[i] - ‘0‘);23 int c = ssum[i]-‘0‘+temp;24 ssum[i] = c%10 + ‘0‘;25 ssum[i-1] = (ssum[i-1]-‘0‘+c/10) + ‘0‘;26 }27 28 sum = ssum;29 }30 int main(){31 string a; sum = "";32 while(cin>>a && a!="0"){33 solve(a);34 }35 int i;36 for(i=0;i<max_len;i++){37 if(sum[i]!=‘0‘) break;38 }39 for(int j=i;j<max_len;j++){40 cout<<sum[j];41 }cout<<endl;42 }
POJ1503: Integer Inquiry(连续多个大整数加法运算)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。