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

Python 42제] n1, n2,m을 입력받아 n1~n2까지 한라인에 m개씩 출력하기

by 건티 2022. 3. 31.
728x90

출처 : 반크뉴스

 

문제]

n1과 n2, m을 입력으로 받고 n1과 n2 사이의 값을 출력하되 한 줄마다 m개씩의 숫자만 출력하여라
조건]

1. 항상 n1는 n2보다 작거나 같아야 한다.

2. n1과 n2사이의 숫자의 갯수는 m으로 나누어 떨어진다.

[입력 예시1]
4
19
4

[출력 예시1]
4 5 6 7 
8 9 10 11
12 13 14 15
16 17 18 19

 

[입력 예시2]
10
40
10

 

[출력 예시2]

10과 40사이의 숫자의 개수는 10(으)로 나누어 떨어지지 않습니다.


[입력 예시3]
39
10
5

[출력 예시3]
10 11 12 13 14 
15 16 17 18 19
20 21 22 23 24
25 26 27 28 29
30 31 32 33 34
35 36 37 38 39

 

참고풀이]

import sys #exit()

#n1, n2, m을 입력받는다.
#n1과 n2사이의 숫자의 갯수는 m으로 나누어 떨어진다.
while True:
    n1=int(input())
    n2=int(input())
    m=int(input())
    #항상 n1<n2가 되도록 한다.
    if n1>n2: #n1>n2되면 swap한다
        n1, n2 = n2, n1
        
    if (n2-n1+1)%m==0:
        break
    print(f"\n{n1}과 {n2}사이의 숫자의 개수는 {m}(으)로 나누어 떨어지지 않습니다.")
    sys.exit() #작업을 끝낸다.

#n1과 n2사이의 값을 한라인에 m개씩 출력한다.
cnt=0
print()
for i in range(n1, n2+1):
    print(i,end=' ')
    cnt+=1
    if cnt%m==0:
        print()

 

참고풀이 결과]

 

 

 

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

 

반응형

댓글