어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.
예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.
600851475143의 소인수 중에서 가장 큰 수를 구하세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | package profile; public class euler { public static void main(String args[]) { long a = 600851475143L; int count = 0; for (long i = 2; i < a; i++) { if (a % i != 0) continue; for (int ai = 1; ai <= i; ai++) if (i % ai == 0) count++; if (count > 2) { count = 0; continue; } count = 0; System.out.print(i + " "); } } } | cs |
'프로젝트 오일러 (ProjectEuler)' 카테고리의 다른 글
프로젝트 오일러 7) 10001번째의 소수 (0) | 2016.04.10 |
---|---|
프로젝트 오일러 6) 1부터 100까지 "제곱의 합"과 "합의 제곱"의 차는? (0) | 2016.04.10 |
프로젝트 오일러 5) 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수 (0) | 2016.04.10 |
프로젝트 오일러 4) 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2016.04.10 |
프로젝트 오일러 ! (0) | 2016.04.10 |