小学生算术
时间限制:3000 ms | 内存限制:65535 KB
难度:1
- 描述
- 很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
- 输入
- 输入两个正整数m,n.(m,n,都是三位数)
- 输出
- 输出m,n,相加时需要进位多少次。
- 样例输入
-
123 456 555 555 123 594 0 0
- 样例输出
-
0 3 1
import java.util.Scanner; public class Main23 { public static void main(String[] args) { Scanner input = new Scanner(System.in); while (input.hasNext()) { int m = input.nextInt(); int n = input.nextInt(); if (n == 0 && m == 0) { break; } String mStr = String.valueOf(m); String nStr = String.valueOf(n); String [] ma = new String[mStr.length()]; String [] na = new String[nStr.length()]; for (int i = 0;i<ma.length;i++) { ma[i] = mStr.substring(i, i+1); } for (int i = 0;i<na.length;i++) { na[i] = nStr.substring(i, i+1); } int count = 0; int digital = 0; for (int i = ma.length-1;i>=0;i--) { if (i ==ma.length-1 ) { int mm = Integer.parseInt(ma[i]); int nn = Integer.parseInt(na[i]); int sum = mm+nn; if (sum >=10) { digital = sum/10; count++; } }else { int mm = Integer.parseInt(ma[i]); int nn = Integer.parseInt(na[i]); int sum = mm+nn+digital; if (sum >=10) { digital = sum/10; count++; } } } System.out.println(count); } input.close(); } }