Sample Input
123 456
555 555
123 594
0 0
Sample Output
No carry operation.
3 carry operations.
1 carry operation.
大意: 給2個小於10位的整數 求兩者相加後會有多少進位
解法:
儲存進位值 一位一位往前推
import java.util.*;
public class UVA10035 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int N = sc.nextInt();
int M = sc.nextInt();
int carry = 0, c = 0;
if (N == 0 && M == 0)
break;
while (N > 0 || M > 0) {
c = (N % 10 + M % 10 + c) > 9 ? 1 : 0;
carry += c;
N /= 10;
M /= 10;
}
if (carry == 0)
System.out.println("No carry operation.");
else if (carry == 1)
System.out.println("1 carry operation.");
else
System.out.println(carry + " carry operations.");
}
sc.close();
}
}