Question link:
Http://uva.onlinejudge.org/index.php? Option = com_onlinejudge & Itemid = 8 & page = show_problem & category = & problem = 976 & mosmsg = Submission + received + with + ID + 11932248
Problem B: primary arithmetic
Children are taught to add multi-digit numbers from right-to-left onedigit at a time. please find the "carry" operation-in which a 1 iscarried from one digit position to be added to the next
-To bea significant challenge. Your job is to count the number of carry operations for each of a set of addition problems so thateducators may assess their difficulty.
Input
Each line of input contains two unsigned integers less than 10 digits. The last line of input contains 0 0.
Output
For each line of input records t the last you showould compute and print the number of carry operations thatwowould result from adding the two numbers, in the formatshown below.
Sample Input
123 456555 555123 5940 0
Sample output
No carry operation.3 carry operations.1 carry operation.
When the answer is 1 or greater than 1, the output is different ....
#include <iostream>#include <cstdio>using namespace std;int main(){ unsigned int a,b,c,ans; while(cin>>a>>b){ if(a==0&&b==0) break; c=ans=0; while(a!=0 || b!=0 ){ c+=a%10 + b%10; a/=10; b/=10; if(c>9){ ans++; } c/=10; } if(ans==0) cout<<"No carry operation."<<endl; else if(ans==1) cout<<"1 carry operation.\n"; else printf("%d carry operations.\n",ans); }}