Java/백준알고리즘
[Java] 백준알고리즘 #2501 약수 구하기
Sehyeok20
2023. 10. 5. 19:34
반응형
입력받은 수 n의 약수들 중에서 k번째로 작은 수를 구하는 문제.
먼저 결과를 출력할 result변수를 선언해 0으로 초기화한다 (존재하지 않는 경우 0 출력을 위해)
그리고 1부터 n까지 반복하며 전체 약수를 구한다.
약수는 n을 어떤 수로 나누었을 때 나머지가 0인 것이므로 간단히 구할 수 있다.
이때, count변수를 두어 약수를 발견할 때 마다 하나씩 증가시켜 주자.
이 count가 k와 같아지는 지점에서, count를 result변수에 넣어서 출력해주면 끝.
전체 코드는 다음과 같다.
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int count = 0;
int result = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
count++;
if (count == k) {
result = i;
}
}
}
System.out.println(result);
sc.close();
}
}
반응형