UVA10035




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();
 }

}