您的位置:首页 > 其它

小学生算术

2017-02-05 19:06 127 查看
小学生算术

时间限制: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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法