백준 2501 c++

magicdrill·2024년 3월 8일
0

백준 문제풀이

목록 보기
120/654

백준 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;
}

0개의 댓글