このTopCoderの問題はこちらで見ることができる(要TopCoder登録 & 問題文は英語)。問題文について説明する。
numberという整数型の数字が与えられたとき、その数字の1桁の値で割り切れるものはいくつあるかを返すメソッドを作成せよ。なお0では割り切れない。例えばnumberが12345であれば、numberは1と3と5割り切れるので3を返すことになる。
私の解答はこちら。
public class DivisorDigits { public int howMany(int number) { int n = number; int ret = 0; while( n > 0 ){ int mod = n % 10; n /= 10; if( mod == 0 ) continue; if( number % mod == 0 ) ret++; } return ret; } }
得点は75.00。Javaを始めた頃に解いていた問題だったのだが、システムテストで確認していなかったので、バグを取り除いた上で再提出。
0 件のコメント:
コメントを投稿