알고리즘,손코딩 문제

프로젝트 오일러 문제 3 : 600851475143의 소인수 중에서 가장 큰 수를 구하세요.

알통몬_ 2017. 3. 11. 19:00
반응형


안녕하세요 알통몬입니다.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^

 

어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고,

이 소수들을 그 수의 소인수라고 합니다.

예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.

600851475143의 소인수 중에서 가장 큰 수를 구하세요.



public class Question {


public static void main(String[] args) {

long number = 600851475143L;

long number2 = 600851475143L;

long d = 2;

long max_d = 0;


while (number2 != d) {

if (number % d != 0) {

d++;

} else if (number % d == 0) {

number = number / d;

System.out.println(d);

if (d > max_d) {

max_d = d;

}

}

}

System.out.println("가장 큰 소인수는 : " + max_d);

}


 

}

반응형