1. 목적
- 공약수의 원리 안다.
- 반복문을 안다.
2. 문제 (점수 : 15 점)
- 세수를 입력 받아서 모든 공약수들을 찾아내는 프로그램을 만든다.
- 출력 화면
세개의 정수를 입력하세요 : 100 200 300
공약수 : 1 2 4 5 10 20 25 50 100
Press any key to continue
공약수 : 1 2 4 5 10 20 25 50 100
Press any key to continue
3. 이해
- 공약수를 이해하고 C 에 적용할 수 있는가?
4. 코드
#include <stdio.h>
int main()
{
int a,b,c,i,max;
a = b = c = 0;
i = 1;
printf("세개의 정수를 입력하세요 : ");
scanf("%d %d %d", &a, &b, &c);
max = a;
max = max < b ? b : max;
max = max < c ? c : max;
printf("공약수 : ");
while(i <= max)
{
if(a % i == 0 && b % i == 0 && c % i == 0) printf("%d\t",i);
i++;
}
printf("\n");
return 0;
}
5. 해설
- 이전 문제들과 동일한 패턴으로 하시면 됩니다.
- while 문으로 반복문을 최대한 짧게 표현했으며 삼항 연산자로 코드의 가독성을 높였습니다.
6. 참고
- 동일 문제