1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면?

프로젝트 오일러

- 1번 : 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면?

 

1번 문제

1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면?

euler.synap.co.kr

문제

10보다 작은 자연수 중에서 3 또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다.
1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요?

첫 번째 코드

sum = 0
for i in range(1, 11):
	if i % 3 == 0 or i % 5 ==0:
		sum += i

print(sum)

두 번째 코드

역시 첫 번째 코드를 작성하고난 후 다른 이의 답안을 보니 획기적인 것들이 많더라.

그 중에 적용해 볼 만한 것 2개를 간추려 봤다.

sum(range(0, 1000, 3)) + sum(range(0, 1000, 5)) - sum(range(0, 1000, 15))

print(sum({i for j in (3, 5) for i in range(0, 1000, j)}))

+ Recent posts