U E D R , A S I H C RSS

최대공약수/김태훈zyint

소 감

일단 문제만 보고 풀었는데 처음부터 call by value 로 짰다 ㄱ-;;
아영이꺼 보니 while문하구 함수쓰는거랑 따로따로하는 거였다..;
결국 ver2로만 완성;;

소스

~cpp 
#include <stdio.h> 

void swap(int* x,int* y);
int gcd(int a, int b);

int main()
{
	int x,y;

	// x, y값을 입력 받는다.
	printf("x = "), scanf("%d",&x);
	printf("y = "), scanf("%d",&y);

	// GCD를 출력한다.
	printf("GCD is %d\n",gcd(x,y));

	return 0;
}

int gcd(int a, int b)
{
	//a>b로 바꾼다.
	if( a < b ) swap(&a,&b);

           // 0으로 나누기 방지
	if(b==0) return a; 

           //재귀 
	if(gcd(b, a % b) == 0) 
		return a % b;
	else
		return gcd(b, a % b);
}

void swap(int* x,int* y)
{
	int tmp;

	tmp = *x;
	*x = *y;
	*y = tmp;

}


나한테 할 말

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0072 sec