어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.
예를 들면 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


+ Recent posts