728x90
반응형
https://www.acmicpc.net/problem/2501
문제
어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다.
6을 예로 들면
- 6 ÷ 1 = 6 … 0
- 6 ÷ 2 = 3 … 0
- 6 ÷ 3 = 2 … 0
- 6 ÷ 4 = 1 … 2
- 6 ÷ 5 = 1 … 1
- 6 ÷ 6 = 1 … 0
그래서 6의 약수는 1, 2, 3, 6, 총 네 개이다.
두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main() {
int n, k;
int i, j = 0;
int arr[100] = { 0 };
printf("예제 입력: ");
scanf("%d %d", &n, &k);
printf("약수: ");
for (i = 1; i <= n; i++) {
if (n % i == 0) {
arr[j] = i;
printf("%d ", arr[j]);
j++;
}
}
printf("\n");
printf("예제 출력: ");
if (k)
printf("%d", arr[k - 1]);
else
printf("0");
printf("\n");
return 0;
}
-. 굳이 배열을 안써서도 가능함.
-. 약수 구할 때 나눠서 0인지 아닌지를 통해서 약수를 구할 수 있음.
728x90
반응형
'공돌이 > C언어' 카테고리의 다른 글
[백준/C언어] 2609번: 최대공약수와 최소공배수 (0) | 2021.10.18 |
---|---|
[백준/C언어] 2460번: 지능형 기차 2 (0) | 2021.10.18 |
[CodeUP/C언어] C 1412번: 알파벳 개수 출력하기 문제 (0) | 2021.10.17 |
[C언어] 삽입정렬(insertion sort) (0) | 2021.10.17 |
[C언어] 버블정렬(Bubble sort) (0) | 2021.10.15 |
댓글