Mechanic 공방

Python 예제 - 프로젝트 오일러 1번 문제 (Project Euler) 본문

Python

Python 예제 - 프로젝트 오일러 1번 문제 (Project Euler)

H-Mechanic 2021. 2. 13. 21:29
728x90
반응형

이번 포스팅에서는 '프로젝트 오일러 1번 문제'를 코드로 구현해보고자 한다.

 

먼저, 프로젝트 오일러 1번 문제는 아래와 같다.

 

0 에서 1000 미만의 수 중 3과 5로 나누어지는 수들의 합을 구하시오.

 

필자는 for 문을 사용하여 위 문제를 구현하였다.

 

아래는 구현된 코드이다.

 

sum = 0

for i in range(0,999):
    i += 1
    if i%3==0:
        sum += i
    elif i%5==0:
        sum += i
    elif i%15==0:
        sum -= i
    else:
        continue

print("Sum is ",sum)

먼저 sum 이라는 변수를 0으로 초기화 및 선언을 해주었다.

 

for 문을 사용하여 0에서부터 999까지 반복을 하게 하였으며, 각 루프마다 조건문을 실행시켜 위 문제의 조건에 부합하는 수를 구하여 sum 변수에 추가하는 방식으로 코드를 구현하였다.

 

조건문은 총 3가지로 구성하였으며,

 

1. 3으로 나누어 떨어지는 경우

2. 5로 나누어 떨어지는 경우

3. 15로 나누어 떨어지는 경우

 

나머지를 구하기 위하여 '%'를 사용하였으며, 위 1번과 2번의 경우에는 sum 변수에 더하였고 3번의 경우에는 뺐다.

 

이는 3과 5로 모두 나누어떨어지는 수가 중복되어 더해지기 때문이다.

 

결과는 아래와 같이 나온다.

 

728x90
반응형