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

Problem3 600851475143の最大の素因数

問題

13195の素因数は5、7、13、29である。
600851475143の素因数のうち最大のものを求めよ。


ソース

using System;

class Program
{
    //const long TargetVal = 13195;
    const long TargetVal = 600851475143;

    static void Main()
    {
        long CopiedVal = TargetVal;
        long KariMax = 1;
        for (long I = 2; I <= CopiedVal; I++) {
            while (CopiedVal % I == 0) {
                KariMax = I;
                CopiedVal /= I;
            }
        }
        Console.WriteLine("最大の素因数={0}", KariMax);
    }
}


実行結果

最大の素因数=6857


解説

2から順に試し割りしてます。