백준 2501 c++
#include <iostream>
using namespace std;
void input(int* N, int* K);
int check_divisor(int N, int K);
int main(void)
{
int N, K, result;
input(&N, &K);
result = check_divisor(N, K);
cout << result << endl;
return 0;
}
void input(int *N, int *K)
{
int A, B;
while (1)
{
cin >> A >> B;
if ((A >= 1 && A <= 10000) && (B >= 1 && B <= A))
{
*N = A;
*K = B;
break;
}
else
{
;
}
}
}
int check_divisor(int N, int K)
{
int count = 0, i = 1;
while (i <= N)
{
if (N % i == 0)//약수이면
{
count++;
if (count == K)
{
break;
}
else
{
;
}
}
else
{
;
}
i++;
}
if (i == N + 1 && count < K)
{
i = 0;
}
else
{
;
}
return i;
}