목차
백준 단계별로 풀어보기
25.09.14
9단계: 약수, 배수와 소수 1
2501번: 약수 구하기
문제 링크 : https://www.acmicpc.net/problem/2501
문제 풀이
>> 문제를 풀기 위해 알아야 할 개념
- 약수를 구하는 방법
: 문제에서 나왔듯, 큰 수를 작은 수로 나눴을 때 나머지가 0이면 작은 수는 큰 수의 약수이다.
>> 풀이
- 두 자연수 N과 K를 입력받아 int값으로 변환한다.
- 작은 수부터 약수를 구할 것이므로 몇 번째로 작은 수인지 체크할 변수를 선언한다.
- for 반복문을 1부터 N까지 실행하여 약수를 찾는다.
- N을 i로 나눴을 때 나머지가 0이라면 i가 N의 약수이므로 count를 1 늘린다. 이를 반복하다가 count가 K번째에 도달했을 때, i를 출력하여 K번째 약수를 출력하고 코드를 종료시킨다.
- 만약 for 반복문을 모두 마칠 때까지 코드가 종료되지 않았다면 N의 약수의 개수가 K개보다 적은 것이므로 0을 출력한다.
정답 코드
class Backjoon
{
static void Main(string[] args)
{
string[] input = Console.ReadLine().Split();
int N = int.Parse(input[0]);
int K = int.Parse(input[1]);
int count = 0;
for (int i = 1; i <= N; i++)
{
if (N % i == 0)
{
count++;
if (count == K)
{
Console.Write(i);
return;
}
}
}
Console.Write(0);
}
}'Development > Baekjoon' 카테고리의 다른 글
| [C#] 1978번: 소수 찾기 (0) | 2025.09.16 |
|---|---|
| [C#] 9506번: 약수들의 합 (0) | 2025.09.15 |
| [C#] 5086번: 배수와 약수 (0) | 2025.09.13 |
| [C#] 2869번: 달팽이는 올라가고 싶다 (0) | 2025.09.12 |
| [C#] 1193번: 분수찾기 (0) | 2025.09.11 |