トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

Problem5 1から20までの整数全てで割り切れる最小の値

問題

2520は1から10の数字の全ての整数で割り切れる数字であり、そのような数字の中では最小の値である。
では、1から20までの整数全てで割り切れる数字の中で最小の値はいくらになるか。


ソース

using System;

class Program
{
    //const int TargetVal = 10;
    const int TargetVal = 20;

    static void Main()
    {
        int CurrVal = TargetVal;

        while (true) {
            bool IsOK = true;
            for (int I = 2; I <= TargetVal - 1; I++) {
                if (CurrVal % I != 0) {
                    IsOK = false;
                    break;
                }
            }
            if (IsOK) break;
            CurrVal += TargetVal; //TargetValの倍数でなければならない
        }
        Console.WriteLine(CurrVal);
    }
}


実行結果

232792560


解説

別解として、1から20までの数の最小公倍数を求めてもいいです。