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を含んでる数。ゼロ除算エラーになっちゃう。テストケースが無かったら絶対ハマってた。