SRM 148 DIV2 Level One - 割り切れる?
問題を理解するのにちと時間がかかった。
12345があって、各数字に分割して、割り切れる数を数える。
12345は5で割り切れる。4では割り切れない、3では割り切れる、2では割り切れない、1では割り切れる。
なので、割り切れる数は3つ。
class DivisorDigits { public: static int howMany(int number) { int count = 0; for (int n = number; n != 0 ; n /= 10) if (n % 10 != 0) if (number % (n % 10) == 0) count++; return count; } };
罠があるのは0を含んでる数。ゼロ除算エラーになっちゃう。テストケースが無かったら絶対ハマってた。