Programming/JUNGOL : 정보올림피아드&알고리즘

[JUNGOL 반복제어문1]:536~129

토토모에요 2021. 8. 7. 14:50
728x90
반응형

JUNGOL 정보올림피아드&알고리즘에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다.

http://www.jungol.co.kr/

536

문제: 1부터 15까지 차례로 출력하는 프로그램을 작성하시오. while문을 이용하세요.

출력 예

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

code

a=1
while a<16:
    print(a)
    a+=1

537

문제: 100 이하의 양의 정수만 입력된다.
while 문을 이용하여 1부터 입력받은 정수까지의 합을 구하여 출력하는 프로그램을 작성하시오.

입력 예

10

출력 예

55

code

a=int(input())
i=1
count = 0
while i<=a:
    count+=i
    i+=1
print(count)

538

문제: 한 개의 정수를 입력받아 양수(positive integer)인지 음수(negative number)인지 출력하는 작업을 반복하다가 0이 입력되면 종료하는 프로그램을 작성하시오.
* 입출력예의 비스듬한글씨는 출력값입니다.

입출력 예

number? 10
#positive integer
number? -10
#negative number
number? 0

code

while True:
    a=int(input("number? "))
    if a>0:
        print("positive integer")
    elif a<0:
        print("negative number")
    elif a==0:
        break

539

문제: 정수를 계속 입력받다가 100 이상의 수가 입력이 되면 마지막 입력된 수를 포함하여 합계와 평균을 출력하는 프로그램을 작성하시오.
(평균은 반올림하여 소수 첫째자리까지 출력한다.)

입력 예

1 2 3 4 5 6 7 8 9 10 100

출력 예

155
14.1

code

a=list(map(int,input().split()))
i=0
sum=0
while True:
    sum+=a[i]
    i+=1
    if a[i-1]>=100:
        break
print(sum)
print("%.1f"%(sum/float(i)))

540

문제: 정수를 입력받아서 3의 배수가 아닌 경우에는 아무 작업도 하지 않고 3의 배수인 경우에는 3으로 나눈몫을 출력하는 작업을 반복하다가 -1이 입력되면 종료하는 프로그램을 작성하시오.
* 입출력예의 비스듬한 글씨는 실행값이다.

입출력 예

5
12
#4
21
#7
100
-1

code

while True:
    a=int(input())
    if a%3!=0:
        if a%3!=0 and a==-1:
            break
        continue
    elif a%3==0:
        print(a//3)
    elif a== -1 :
        break

633

문제: 아래와 같이 나라 이름을 출력하고 숫자를 입력받아 해당하는 나라의 수도를 출력하는 작업을 반복하다가 해당하는 번호 이외의 숫자가 입력되면 "none"라고 출력한 후 종료하는 프로그램을 작성하시오.
* 각 나라의 수도 : 
대한민국 = 서울(Seoul)
미국 = 워싱턴(Washington)
일본 = 동경(Tokyo)
중국 = 북경(Beijing)
* 입출력시 모양은 "입·출력예"와 같이 하시오.

입출력 예

1. Korea
2. USA
3. Japan
4. China
number? 1

Seoul

1. Korea
2. USA
3. Japan
4. China
number? 5

none

code

while True:
    i=0
    print("1. Korea\n2. USA\n3. Japan\n4. China")
    a=int(input("number? "))
    if a==1:
        print("\nSeoul\n")
    elif a==2:
        print("\nWashington\n")
    elif a==3:
        print("\nTokyo\n")
    elif a==4:
        print("\nBeijing\n")
    else:
        print("\nnone\n")
        break

125

문제: 정수를 입력받아 1부터 입력받은 정수까지를 차례대로 출력하는 프로그램을 작성하시오.

입력 예

5

출력 예

1 2 3 4 5

code

a=int(input())
b=0
while b<a:
    b+=1
    print(b,end=' ')

126

문제: 0 이상의 정수들이 공백으로 구분되어 반복적으로 주어진다.
0이 입력되면 반복문을 멈추고 그 전까지 입력받은 수들에 대하여 홀수의 개수와 짝수의 개수를 출력하는 프로그램을 작성하시오.

입력 예

9 7 10 5 33 65 0

출력 예

odd : 5
even : 1

code

a=list(map(int,input().split()))
i=0
count_odd=0
count_even=0
while True:
    if a[i]%2==1:
        count_odd+=1
        i+=1
    elif a[i]%2==0:
        count_even+=1
        i+=1
    if a[i]==0:
        break



print("odd : %d"%count_odd)
print("even : %d"%count_even)

127

문제: 0 부터 100 까지의 정수를 계속 입력받다가 범위를 벗어나는 수가 입력되면 그 이전까지 입력된 자료의 합계와 평균을 출력하는 프로그램을 작성하시오.
(평균은 반올림하여 소수 첫째자리까지 출력한다.)

입력 예

55 100 48 36 0 101

출력 예

sum : 239
avg : 47.8

code

a=list(map(int,input().split()))
i=0
while True:
    if a[i]>=0 and a[i]<=100:
        i+=1
        continue
    if a[i]<0 or a[i]>100:
        print("sum : %d"%(sum(a[:i])))
        print("avg : %.1f"%(sum(a[:i])/i))
        break

128

문제: 0 이 입력될 때까지 정수를 계속 입력받아 3의 배수와 5의 배수를 제외한 수들의 개수를 출력하는 프로그램을 작성하시오.

입력 예

1 2 3 4 5 6 7 8 9 10 0

출력 예

5

code

a=list(map(int,input().split()))
i=0
count=0
while True:
    if a[i]==0:
        break

    if a[i]%3==0:
        i+=1
        continue
    elif a[i]%5==0:
        i+=1
        continue
    else:
        i+=1
        count+=1

print(count)

129

문제: 삼각형의 밑변의 길이와 높이를 입력받아 넓이를 출력하고, "Continue? "에서 하나의 문자를 입력받아 그 문자가 'Y' 나 'y' 이면 작업을 반복하고 다른 문자이면 종료하는 프로그램을 작성하시오.
(넓이는 반올림하여 소수 첫째자리까지 출력한다.)​

입출력 예

Base = 11
Height = 5
Triangle width = 27.5
Continue? Y
Base = 10
Height = 10
Triangle width = 50.0
Continue? N

code

while True:
    a=int(input("Base = "))
    b=int(input("Height = "))
    print("Triangle width = %.1f"%((a*b)/2))
    c=input("Continue? ").strip()
    if c=="Y" or c=="y":
        continue
    else:
        break
반응형