728x90
반응형
JUNGOL 정보올림피아드&알고리즘에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다.
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
반응형
'Programming > JUNGOL : 정보올림피아드&알고리즘' 카테고리의 다른 글
[JUNGOL 반복제어문3]:549~149 (0) | 2021.08.09 |
---|---|
[JUNGOL 반복제어문2]:541~139 (0) | 2021.08.07 |
[JUNGOL 선택제어문]:528~124 (0) | 2021.08.06 |
[JUNGOL 디버깅]:526~118 (0) | 2021.08.06 |
[JUNGOL 연산자]:518~115 (0) | 2021.08.06 |