Project Euler 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.
全然華麗ではなかったが、クリアだ