본문 바로가기
강의/점프투파이썬

[점프투파이썬] 1. 3의 배수와 5의 배수의 총합 구하기

by 소꿍 2020. 3. 17.

1. 1000미만의 자연수에서 3의 배수와 5의 배수의 총합을 출력하기

 

- 내가 쓴 답안

 

입력: 1~999(1000미만의 자연수)

출력: 3의 배수, 5의 배수의 총합

 

1) 1000미만의 자연수 중 3의 배수, 5의 배수 구하기

def multiple(n):
    result = []
    i = 0
    while n*i < 1000:
        result.append(n * i)
        i += 1
    return result
    
a = multiple(3)+multiple(5)

 

2) 3과 5의 공배수(중복값) 처리

중복값을 허용하지 않는 집합 자료형(set) 쓰기

b = set(a)

 

3) set(multiple(3)+multiple(5)) 값 더하기

print(sum(b))

sum(b)= 233168

 


- 해설과 비교해 보기

 

1) 1000미만의 자연수 구하기

  1-1)

n = 1
while n < 1000:
    print(n)
    n += 1

 

  1-2)

for n in range(1, 1000):
    print(n)

 

2) 1000미만의 자연수 중 3의 배수 구하기

for n in range(1, 1000):
    if n % 3 == 0:
        print(n)

 

3) 3과 5의 배수 더하기

result = 0
for n in range(1, 1000):
    if n % 3 == 0 or n % 5 == 0: 
        result += n
print(result)

훨씬 간단하네..

댓글