首页 > 代码库 > 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 }
View Code

 

POJ1503: Integer Inquiry(连续多个大整数加法运算)