본문 바로가기
Programming/Project Euler

Project Euler(프로젝트 오일러) Problem 3 - Python

by BACKK0M 2019. 4. 2.
반응형

문제

어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.

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

 

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

Project Euler Problem 3

소수란 1을 제외한 약수로 1과 자기 자신만을 갖는 수를 말합니다.

변수 i는 2부터 시작하여 1씩 증가하며 600,851,475,143의 숫자와 비교하게 됩니다(변수명: num).

num 나누기 i를 진행하였을 때 나머지가 0인 경우(나누어 떨어질 경우) 그 수를 result 변수에 저장해놓고, num의 값을 num 나누기 i 값으로 바꾸어 줍니다.

소인수 중 가장 큰 수를 구하는 문제이므로 result 변수에 저장할 때 result 값이 i 값 보다 작을 경우 더 큰 값인 i의 값을 result 변수에 넣어줍니다.

i가 num보다 더 커지게 되면 프로그램은 종료됩니다.

 

Python code

 

답: 6857

반응형