소 감 ¶
일단 문제만 보고 풀었는데 처음부터 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; }