合同 2007/10/02

8桁の数25x22341が11で割り切れるという。xはいくらか。チャレンジ!整数の問題100


プログラムで解くなら、単純に0~9の値を入れてみて、11で割った商が0な値を求めるという方法が思いつきました。

で、合同の性質を利用するなら、全ての桁の数を足して、11で割れるものをみつける。

コードにしてみました。
String s = "25x22341";

char[] cs = s.toCharArray();

int a = 0;
for (char c : cs) {
if(Character.isDigit(c)){
a += Integer.parseInt(""+c);
}
}

System.out.println(22 - a);

: