C 언어 약수 구하기 문제
추천 자료: ASP.NET Core 인증 및 권한 부여
약수 구하기
표준 입력으로 한 개의 정수를 입력 받습니다. 1부터 입력 받은 정수까지 반복하면서 입력 받은 정수의 약수를 출력하는 프로그램을 만드세요.
테스트 케이스 예제
표준 입력
10
표준 출력
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;
}
12
1은(는) 12의 약수입니다.
2은(는) 12의 약수입니다.
3은(는) 12의 약수입니다.
4은(는) 12의 약수입니다.
6은(는) 12의 약수입니다.
12은(는) 12의 약수입니다.
15
1은(는) 15의 약수입니다.
3은(는) 15의 약수입니다.
5은(는) 15의 약수입니다.
15은(는) 15의 약수입니다.
나머지 연산자인 %
연산자를 사용하면 특정한 수의 약수를 구할 수 있습니다. 1부터 입력한 수까지 반복을 하면서 인덱스 변수를 나누었을 때 나머지가 0이면 즉, 나누어 떨어지면 해당 인덱스 변수는 입력한 수의 약수가 됩니다.
이처럼 %
연산자를 사용하면 배수, 약수, 공배수 등을 편리하게 구할 수 있습니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!