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










