✏️ STUDY/📍 coding

[Python 기초] 문제 1. 이상한 수학 문제

나무울 2022. 11. 13. 09:00

 

 

[ 문제 ]

while문과 if문을 활용하여, 100 이하의 자연수 중 8의 배수이지만 12의 배수는 아닌 것을 모두 출력하세요.

예를 들어서 16은 8의 배수이지만 12의 배수가 아니니까 조건에 부합합니다. 하지만 48은 8의 배수이면서 12의 배수이기도 해서 조건에 부합하지 않습니다.

 


 

[ 정답 코드 ]

i = 1
while i <= 100:
    if i % 8 == 0 and i % 12 != 0:
        print(i)
    i += 1

 


 

[ 보충 설명 ]

  • i가 8의 배수라면 i % 8의 결괏값이 0일 것이고, i가 12의 배수라면 i % 12의 결괏값이 0일 것이다.
  • i % 8 == 0 and i % 12 != 0을 만족하는 경우에만 i를 출력한다.
  • i += 1은 if문 밖에 있어야 한다. 그렇지 않으면 끝이 안 나는 '무한 루프'에 빠지게 된다.