C 언어 약수 구하기 문제
# C 언어 약수 구하기 문제
## 약수 구하기
표준 입력으로 한 개의 정수를 입력 받습니다. 1부터 입력 받은 정수까지 반복하면서 입력 받은 정수의 약수를 출력하는 프로그램을 만드세요.
테스트 케이스 예제
표준 입력
```Output
10
```
표준 출력
```Output
1은(는) 10의 약수입니다.
2은(는) 10의 약수입니다.
5은(는) 10의 약수입니다.
10은(는) 10의 약수입니다.
```
***divisor_docs.c***
#define _CRT_SECURE_NO_WARNINGS // scanf() 보안 경고에 따른 컴파일 에러 방지
#include <stdio.h>
int main(void)
{
int divisor;
scanf("%d", &divisor);
for (int i = 1; i <= divisor; i++)
{
if (divisor % i == 0)
{
printf("%2d은(는) %2d의 약수입니다.\n", i, divisor);
}
}
return 0;
}
```Output
12
1은(는) 12의 약수입니다.
2은(는) 12의 약수입니다.
3은(는) 12의 약수입니다.
4은(는) 12의 약수입니다.
6은(는) 12의 약수입니다.
12은(는) 12의 약수입니다.
```
```Output
15
1은(는) 15의 약수입니다.
3은(는) 15의 약수입니다.
5은(는) 15의 약수입니다.
15은(는) 15의 약수입니다.
```
나머지 연산자인 `%` 연산자를 사용하면 특정한 수의 약수를 구할 수 있습니다. 1부터 입력한 수까지 반복을 하면서 인덱스 변수를 나누었을 때 나머지가 0이면 즉, 나누어 떨어지면 해당 인덱스 변수는 입력한 수의 약수가 됩니다.
이처럼 `%` 연산자를 사용하면 배수, 약수, 공배수 등을 편리하게 구할 수 있습니다.
Comments
Comments are closed