#include #include #include #include #include using namespace std; int main(){ int carried=0; int k; char n1[11],n2[11],digit[2]; int n3[11],n4[11]; int carry=0,sum; string num1, num2, temp; while(cin >> num1 >> num2){ if(num1=="0" && num2=="0"){ break; } carried=0; carry =0; if(num2.size()>num1.size()){ temp = num1; num1=num2; num2=temp; } k=0; for(int i=num1.size()-1;i>=0;i--){ n1[10-k]=num1[i]; k++; } for(int i=num1.size();i<10;i++){ n1[10-i]='0'; } k=0; for(int i=num2.size()-1;i>=0;i--){ n2[10-k]=num2[i]; k++; } for(int i=num2.size();i<10;i++){ n2[10-i]='0'; } for(int i=10;i>0;i--){ digit[0]=n1[i]; digit[1]='\0'; n3[i]=atoi(digit); digit[0]=n2[i]; digit[1]='\0'; n4[i]=atoi(digit); } k=10; while(k>0){ sum=n3[k]+n4[k]+carry; //cout << n3[k] << " + " << n4[k] << " + " << carry << " = " << sum << endl; //cout << k << endl; if(sum>=10){ carried++; carry=1; } else{ carry=0; } k--; } for(int i=9;i>0;i--){ n3[i]=0; n4[i]=0; n1[i]='0'; n2[i]='0'; } if(carried==0){ cout << "No carry operation." << endl; } else if(carried==1){ cout << carried << " carry operation." << endl; } else{ cout << carried << " carry operations." << endl; } } return 0; } /* #include #include using namespace std; int main(){ int exponent=1,carried=0; double base; unsigned int digit1, digit2, carry=0; unsigned int num1, num2, sum; unsigned int temp; while(cin >> num1 >> num2){ if(num2>num1){ temp = num1; num1=num2; num2=temp; } base= pow(10,exponent); while(base=10){ carry=1; carried++; } else{ carry=0; } exponent++; base = pow(10,exponent); } } return 0; } if(num2.size()>num1.size()){ temp = num1; num1=num2; num2=temp; } for(int i=10;i<;i--){ digit1=atoi(num1[i]); digit2=atoi(num2[i]); sum=digit1+digit2+carry; if(sum>=10){ carry=1; carried++; } else{ carry=0; } } */