10035-primary arithmetic
Time limit:3.000 seconds
Http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem &problem=976
Children are taught to add multi-digit numbers the from right-to-left one digit at a time. Many find the "carry" operation-in which a 1 are carried from one digit position to being added to the next-to be a signif Icant Challenge. Your job is to count the number of carry operations for each of a set of addition problems ' so ' educators may assess th EIR difficulty.
Input
Each line of input contains two unsigned integers less than. The last line of input contains 0 0.
Output
For each line of input except the should compute and print the number of carry operations Adding the two numbers, in the format shown below.
Sample Input
123 456
555 555
123 594
0 0
Sample Output
No carry operation.
3 Carry operations.
1 carry operation.
There are at least two traps, as detailed in the notes.
Complete code:
/*0.019s*/
#include <cstdio>
int main (void)
{
int a, b;
int carry, C;///carry represents a carry number while
(scanf ("%d%d", &a, &b), A + b)
{
carry = c = 0;
while (a | | b)///NOTE 999+1 the situation ~
{
c = (a% + b% + C) > 9? 1:0;
Carry + = c;///or write if (c) ++carry;
a/=;
b/=;
if (carry = = 0)
puts ("No carry operation.");
else if (carry = 1)
puts ("1 carry operation.");
else
printf ("%d carry operations.\n", carry);
}
return 0;
}
See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/