题目描述
很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个正整数在相加时有多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个 0(这是输入结束标记)。
输入
每行上有两个正整数 x,y,中间用一个空格隔开,最后一行是 0 0。
输出
对于每行数据输出一行,每行中只有一个整数,表示 x,y 相加时有多少次进位。
样例输入
123 456
555 555
123 594
0 0
样例输出
0
3
1
对于 100%的数据:0<x,y<=1000000000;
思路:读入X,Y后对X和Y取余,相加,如果进位,标记,s++,输出s。
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long x,y,s,c;
while(cin>>x>>y)
{
if(x==0&&y==0)
break;
s=0;
c=0;
while(x!=0||y!=0)
{
c=c+(x%10)+(y%10);
if(c>=10)
{
c=1;
s++;
}
else
c=0;
x/=10;
y/=10;
}
cout<<s<<endl;
}
return 0;
}