Problem:
階乗 II

n! = n × (n − 1) × (n − 2) × ... × 3 × 2 × 1

を n の階乗といいます。例えば、12 の階乗は

12! = 12 × 11 × 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 479001600

となり、末尾に 0 が 2 つ連続して並んでいます。

整数 n を入力して、n! の末尾に連続して並んでいる 0 の数を出力するプログラムを作成してください。ただし、n は 20000 以下の正の整数とします。

Input

複数のデータが与えられます。各データに n (n ≤ 20000) が１行に与えられます。n が 0 の時入力の最後とします。

データの数は 20 を超えません。

Output

各データに対して n! の末尾に連続して並んでいる 0 の数を１行に出力して下さい。

Sample Input

2
12
10000
0

Output for the Sample Input

0
2
2499

Solution in C# (judge verdict: Accepted)

using System;
class aoj
{
    static void Main()
    {
        int[] all = new int[20];
        int j = 0;
        while (true)
        {
            int two = 0, five = 0;
            int b = int.Parse(Console.ReadLine());
            if (b==0) break;
            for(int i = 1; i <= b; i++)
            {
                int c = i;
                while (true)
                {
                    if (c % 2 == 0)
                    {
                        two++;
                        c /= 2;
                    }
                    else
                        break;
                }
                while (true)
                {
                    if (c % 5 == 0)
                    {
                        five++;
                        c /= 5;
                    }
                    else
                        break;
                }
            }
                all[j] = five;
                j++;
        }
        for(int k = 0; k < j; k++)
        {
            Console.WriteLine(all[k]);
        }
    }
}