품생품사(品生品死)

소프트웨어 품질에 살고 품질에 죽는 그런 평범한 일상 블로그

TESTING/PROGREMING

[파이썬 코딩 - Chap.8] 실습 간단한 수학(2) 문제 풀어보기

품생품사(品生品死) 2020. 11. 4. 12:00
반응형

파이썬 예제 : 수학 문제(2)

예제를 풀면서 파이썬(Python)을 익혀 보도록 하겠습니다.

실습문제로는 수학 문제로 좀 꼬아놓은 수학 문제입니다.

 

문제

10보다 작은 2 또는 3의 배수는 2, 3, 4, 6, 8, 9이며, 이들의 합은 32입니다.

while문과 if문을 활용하여, 1,000보다 작은 자연수 중 2 또는 3의 배수의 합을 출력하는 프로그램을 써 보세요.

 

출력 예시

333167

333167

 

힌트

1. 먼저 '2 또는 3의 배수'라는 조건은 무시하고 생각합시다. 그냥 10보다 작은 자연수의 합을 출력하는 프로그램을 써 보세요.

2. 10보다 작은 자연수의 합을 출력하는 프로그램을 쓰기 위해서는 누적된 합을 보관하는 변수가 필요한데요. 우리는 그 변수를 total이라고 하겠습니다. 그러면 이렇게 작성할 수 있습니다.

i = 1 
total = 0 

while i < 10: 
    total += i  # total = total + i와 동일 
    i += 1  # i = i + 1과 동일 

print(total)

3. 2 또는 3의 배수인지 판단하기 위해서는, 2 또는 3으로 나누어 떨어지는지 확인해야 합니다. 어떤 수가 2 또는 3으로 나누어 떨어진다는 것은, 2 또는 3으로 나누었을 때 나머지가 0이라는 의미입니다.3. 힌트 2에서 한 가지 조건만 추가하면 됩니다. total += 1을 매번 하는 게 아니라, i가 '2 또는 3의 배수'라는 조건을 부합할 때만 부르는 거죠.

 

4. i라는 변수가 2로 나누어 떨어지는지 확인하는 코드는 i % 2 == 0입니다. i라는 변수가 3으로 나누어 떨어지는지 확인하는 코드는 i % 3 == 0입니다. 그렇다면 i가 2 또는 3으로 나누어 떨어지는지 확인하는 코드는?

그냥 불린 연산 or을 사용해서 i % 2 == 0 or i % 3 == 0입니다.

 

정답

main.py
i = 1
total = 0

while i < 1000:
    if i % 2 == 0 or i % 3 == 0:
        total += i
    i += 1
    
print(total)
정답

 

Related References

 

코딩이 처음이라면, 코드잇

월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요

www.codeit.kr:443

This is coding_000
PYTHON 프로그래핑

요약 : sparta coding club, 스파르타 코딩, 코드잇, 노마드 코더, 프로그래밍, 직장인 코딩, 내일 배움 카드 코딩, 밀크티 코딩, 초등 코딩, 아이스크림 코딩, 코딩 소프트웨어, 파이썬 국비 지원, 파이썬 교육

728x90
반응형