본문 바로가기
프로그램/Python 1000제

Python 90제] 어파처! p170 응용문제 2.

by 건티 2022. 9. 19.
728x90

출처 : 반크_세계유산 창덕궁

 

문제]

두 수를 입력하여 작은수에서 부터 큰 수까지의 모든 3의 배수이거나 5의 배수인 수들을 한 줄에 10개씩 출력하고, 그 수들의 합을 구하여 출력하는 프로그램을 작성하시오.

출력 예)

첫번째 정수를 입력하세요 : 50

두번째 정수를 입력하세요 : 10

10~50사이의 모든 3의 배수이거나 5의 배수인 값들]

    10    12    15    18    20    21    24    25    27    30

    33    35    36    39    40    42    45    48    50

 

10~50사이의 모든 3의 배수이거나 5의 배수인 값들의 합은 570입니다.

 

참고풀이]

#두개의 변수를 입력한다.
Start=int(input("첫번째 정수를 입력하세요 : "))
End=int(input("두번째 정수를 입력하세요 : "))


#두개의 입력된 변수 중 작은 것은 Start변수에 저장하고 큰 것은 End변수에 저장한다.
if Start>End:
    Start, End = End, Start

Sum=0 #합 변수
Count=0 #3의 배수이거나 5의 배수인 값들의 개수를 세는 변수

print(f"{Start}~{End}사이의 모든 3의 배수이거나 5의 배수인 값들]")
for i in range(Start,End+1):     #Start~End까지 반복한다.
    if i%3 == 0 or i%5 == 0:      #변수 i값이 3의 배수이거나 5의 배수인 지 체크한다.
        Count += 1                      #변수 i값이 3의 배수이면서 7의 배수이면 개수를 카운트한다.
        print("%4d"%i,end='')      #변수 i값이 3의 배수이거나 5의 배수이면 출력한다.
        if Count%10 == 0:           #변수 i값이 3의 배수이거나 5의 배수인 수가 10개면
            print()                          #줄을 바꾸어 준다.
        Sum += i                         #변수 3의 배수이거나 5의 배수이면 합변수에 더한다.

#결과를 출력한다.
print(f'\n\n{Start}~{End}사이의 모든 3의 배수이거나 5의 배수인 값들의 합은 {Sum}입니다.')

 

참고풀이 결과]

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 여름

 

반응형

댓글