반응형
문제
어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.
예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.
600851475143의 소인수 중에서 가장 큰 수를 구하세요.
소수란 1을 제외한 약수로 1과 자기 자신만을 갖는 수를 말합니다.
변수 i는 2부터 시작하여 1씩 증가하며 600,851,475,143의 숫자와 비교하게 됩니다(변수명: num).
num 나누기 i를 진행하였을 때 나머지가 0인 경우(나누어 떨어질 경우) 그 수를 result 변수에 저장해놓고, num의 값을 num 나누기 i 값으로 바꾸어 줍니다.
소인수 중 가장 큰 수를 구하는 문제이므로 result 변수에 저장할 때 result 값이 i 값 보다 작을 경우 더 큰 값인 i의 값을 result 변수에 넣어줍니다.
i가 num보다 더 커지게 되면 프로그램은 종료됩니다.
답: 6857
반응형
'Programming > Project Euler' 카테고리의 다른 글
Project Euler(프로젝트 오일러) Problem 4 - Python (0) | 2019.04.02 |
---|---|
Project Euler(프로젝트 오일러) Problem 2 - Python (0) | 2019.04.02 |
Project Euler(프로젝트 오일러) Problem 1 - Python (0) | 2019.04.02 |