어디가 잘못되어있는지 잘 모르겠습니다 ㅠㅠ
초코초코해
질문 제목 : 어디가 잘못되어있는지 잘 모르겠습니다 ㅠㅠ..질문 요약 :제가 소스코드를 짰는데요.. 원하는 값이 나오질 않네요.질문 내용 :제가 어떤 소스코드를 짜려고 했냐면
a와 b라는 입력을 받아 최대공약수(GCD)를 구하고
c와 d라는 입력을 받아 또 둘만의 최대공약수(GCD2)를 구합니다.그런 다음 a와 b에서 나온 최대공약수(GCD) 값은 y1 이고
c와 d에서 나온 최대공약수(GCD2) 값은 y2 이렇게 만들어서y1 과 y2 사이에서 또 최대공약수(GCD3)을 구해서 y4 = GCD3값이렇게해서 y4 를 구하는 소스코드를 짜려고 하는데어디가 잘못됬는지 값이 제대로 나오질 않습니다.어디가 잘못되었는지 조금 지적해주시면 감사하겠습니다 ㅠㅠ#include stdio.hGCD();
GCD2();
GCD3();main(){
int a,b,c,d,y1,y2,t;
scanf(%d%d,&a,&b);
printf( INPUT : A = %d\t B = %d\n,a,b);if(a b){
t = a;
a = b;
b = t;
y1 = GCD(a,b);
}scanf(%d%d,&c,&d);
printf( INPUT : C = %d\t D = %d\n,c,d);
if(c d){
t = c;
c = d;
d = t;y2 = GCD2(c,d);
}if(y1 y2){
t = y1;
y1 = y2;
y2 = t;GCD3(y1,y2);
}
printf( INPUT : y1 = %d\t y2 = %d\n,y1,y2);
}#352e2cGCD(a,b)
{
if(b == 0)
printf(\n GCD = %d\n,a);
else
GCD(b,a%b);}
GCD2(c,d)
{
if(d == 0)
printf(\n GCD = %d\n,c);
else
GCD2(d,c%d);
}
GCD3(y1,y2)
{
int y4;
if(y2 == 0)
printf(\n GCD = %d\n,y1);
else
GCD3(y2,y1%y2);
y4 = GCD3(y1,y2);
printf(y4 = %d\n,y4);
}
-
차나
책에 나온 수도코드를 그대로 작성하신것 같네요;;
-
딥레드
전 visual c/c++ 6.0 에서 해요 ㅠㅠ...
그럼 어떻게 바꿔야 할까요?...