프로젝트 오일러
- 1번 : 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면?
문제
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)}))
'프로그래밍 > 알고리즘' 카테고리의 다른 글
1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수 (0) | 2021.01.25 |
---|---|
세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2021.01.24 |
가장 큰 소인수 구하기 (0) | 2021.01.23 |
피보나치 수열에서 4백만 이하이면서 짝수인 항의 합 (0) | 2021.01.22 |
두 개 뽑아서 더하기 (0) | 2021.01.20 |