import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int K = in.nextInt();
int count = 0;
for (int i = 1; i <= N; i++) {
if (N % i == 0) { // ex) 6과 3을 넣으면 어떻게 될까!!! 이게 정말 중요함!! 25와 4
count++;
if (count == K) {
System.out.println(i);
return;
}
}
}
System.out.println(0);
}
}
나의 입장에서는 약수의 순서를 구한다는 발상을 해보지 못하여 너무나도 신선한 문제였다. COUNT를 이용하여 값을 구하는 부분에서는 정말 많은 것을 느꼈다. 코드가 정말 깔끔하여 한번 더 놀랐다. 조건이 맞으면 COUNT++;을 한 후 COUNT가 K번째 약수를 원하는 것이므로 COUNT==K를 사용한 것이 정말 인상 깊었다. 또한 for문에서 N을 포함하지 않는 실수도 하여 무엇이 틀렸는 지 몰라 고민하기도 하였다.