1. 어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나눴을 때 나머지가 0이면 q는 p의 약수이다.
6을 예로 들면
6 ÷ 1 = 6 ... 0
6 ÷ 2 = 3 ... 0
6 ÷ 3 = 2 ... 0
6 ÷ 4 = 1 ... 2
6 ÷ 5 = 1 ... 1
6 ÷ 6 = 1 ... 0
그래서 6의 약수는 1, 2, 3, 6, 총 네 개이다.
두 개의 자연수 N과 K 가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하라.
* 첫재 줄에 N의 약수들 중 K번째로 작은 수를 출력한다. 만일 N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우에는 -1을 출력하라.
입력
6 3
출력
3
실행 코드
import sys
sys.stdin = open("input.txt", "rt")
n, k = map(int, input().split())
cnt = 0
for i in range(1, n+1):
if n % 1 == 0 :
cnt+=1
if cnt == k :
print(i)
break
else:
print(-1)
2. N개의 숫자로 이루어진 숫자열이 주어지면 해당 숫자열 중에서 e번째 까지의 수를 오름 차순 정렬했을 때 k번째로 나타나는 숫자를 출력하는 프로그램
첫번째 줄에 테스트 케이스 T(1<=T<=10)이 주어진다. 각 케이스 별 첫 번째 줄은 자연수 N(5<=N<=50), s, e, k가 주어진다. 두 번째 줄에 N개의 숫자가 차례로 주어진다.
입력
2
6 2 5 3
5 2 7 3 8 9
15 3 10 3
4 15 8 16 6 6 17 3 10 11 18 7 14 7 15
출력
#1 7
#2 6
실행코드
import sys
sys.stdin = open("input.txt", "rt")
T = int(input())
for t in range(T):
n, s, e, k = map(int, input().split())
a = list(map(int, input().split()))
a = a[s-1:e]
a.sort()
print("#%d %d" %(t+1, a[k-1]))
'interactive service > CS' 카테고리의 다른 글
자바스크립트 코딩 테스트 연습 (0) | 2022.08.17 |
---|---|
아키텍처와 컴포지션 (0) | 2022.06.04 |