되는대로 살자

[C언어 기출문제&풀이] 최대공약수 본문

2009~2014/C/C++

[C언어 기출문제&풀이] 최대공약수

malu 2011. 5. 13. 17:57

문제: 두 개의 양의 정수가 주어졌을 때 그 두 수의 최대공약수를 구하여라
풀이: 유클리드 알고리즘을 사용한다. 아... 원래 풀이 다 써봤으나 합동식과 기호를 구분하여 적을 수가 없어서 유클리드 알고리즘에 관해서는 지식인에 유클리드 알고리즘을 알아보거나 소스코드가 아주 간단하기 때문에 그냥 봐도 이해가 갈 것이다.

#include <stdio.h>

int gcd(int a, int b); // int gcd(int, int);

int main()

{

int a,b;

scanf("%d%d",&a,&b);

gcd(a,b);

}

int gcd(int a,int b)

{

if(a%b==0)

{

printf("최대공약수 : %d\n",b);

return 0;

}

else gcd(b,a%b);

}