时间限制:3000 ms | 内存限制:65535 KB
难度:1
描述
很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
输入
输入两个正整数m,n.(m,n,都是三位数)
输出
输出m,n,相加时需要进位多少次。
样例输入
123 456
555 555
123 594
0 0
样例输出
0
3
1
#include <iostream>
using namespace std;
int jin(int m,int n)
{
int a=n%10; //百位数
int b=n/10%10; //十位数
int c=n/100; //个位数
int d=m%10; //百位数
int e=m/10%10; //十位数
int f=m/100; //个位数
int count=0;
if(a+d>=10)
{
count++;
int g=(a+d)%10;
if(b+e+g>=10)
{
count++;
int h=(b+e)%10;
if(c+f+h>=10)
{
count++;
}
}
}
else if(a+d<10&&b+e>=10)
{
count++;
int i=(b+e)%10;
if(i+c+f>=10)
{
count++;
}
}
else
{
if(c+f>=10)
{
count++;
}
}
return count;
}
int main()
{
int m,n;
while(cin>>m>>n)
{
if(m!=0&&n!=0)
{
cout<<jin(m,n);
}
else
{
break;
}
cout<<endl;
}
return 0;
}