1. 목적
  - 공약수의 원리 안다.
  - 반복문을 안다.

2. 문제 (점수 : 15 점)
  - 세수를 입력 받아서 모든 공약수들을 찾아내는 프로그램을 만든다.
  - 출력 화면

세개의 정수를 입력하세요 : 100 200 300
공약수 : 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. 참고
  - 동일 문제

Posted by 카켈