Project Euler 3

Project Euler Problem 3

The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?

prime factors→素因数


13195の素因数は、5,7,13,29だ。
600851475143の素因数の中で一番大きな数は何だ。


javaでごめんなさい><

   public static void main(String[] args) {
        
        getMaxPrimeFactor(600851475143L);
        
    }
    private static void getMaxPrimeFactor(long b)
    {
        long maxprime = 0;
        for(long i=0; i <= b;i++)
        {
            if(isPrimeNum(i) && b % i == 0)
            {
                if(maxprime <= i)
                {
                    maxprime = i;
                }
            b = b / i;
            i = 2;
            }
        }
        System.out.println(maxprime);
    }
    private static boolean isPrimeNum(long a)
    {
        boolean result = false;
        
        if(a < 2)
            return false;
        else if(a == 2)
            return true;
        else if(a % 2 == 0)
            return false;
        else
        {
            result = true;
            for(long i=3;i<a;i++)
            {
                if(a % i == 0)
                {
                    result = false;
                    break;
                }
            }
        }
        return result;
    }

こんにちわ!素数を求めるプログラムをすぐに打ち込めなかった俺ッス!のロジックをそのまま使ったら軽くPCが凍りついたので、軽くなるようにしてみたす。intは32ビットまで。longは64ビットなんすけど、int 型と同じ 32 ビットしか保持できないので数字の後ろにLが必要なのであった。


Congratulations, the answer you gave to problem 3 is correct.
全然華麗ではなかったが、クリアだ