小学生算术
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
时间限制: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; }