POJ1503: Integer Inquiry (Continuous Addition of multiple large integers), poj1503inquiry
1 # include <iostream> 2 # include <cstring> 3 using namespace std; 4 string sum; 5 const int max_len = 110; 6 string tool (string) {7 int dif = max_len-. 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 &! = "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