#10607: C語言 遞迴解法


s12121296 (阿兩)

學校 : 樹德科技大學
編號 : 48568
來源 : [124.6.1.12]
最後登入時間 :
2016-05-03 21:04:26
a024. 最大公因數(GCD) | From: [124.6.1.12] | 發表日期 : 2016-01-03 18:04

#include<stdio.h>

int main(){
int i,a,b,ans;
while(scanf("%d %d",&a,&b)==2){
ans=gcd(a,b);
printf("%d\n",ans);
}
return 0;
}

int gcd(int a,int b)
{
if(b==0)
return a;
return gcd(b,a%b);
}

 
#12125: Re:C語言 遞迴解法


marada (馬達(集積迴路夢旅人))

學校 : 國立清華大學
編號 : 14082
來源 : [180.217.5.96]
最後登入時間 :
2022-01-18 22:26:10
a024. 最大公因數(GCD) | From: [220.132.178.226] | 發表日期 : 2017-06-03 22:47

#include

int main(){
int i,a,b,ans;
while(scanf("%d %d",&a,&b)==2){
ans=gcd(a,b);
printf("%d\n",ans);
}
return 0;
}

int gcd(int a,int b)
{
if(b==0)
return a;
return gcd(b,a%b);
}

#include<stdio.h>


int main()
{
int a,b;
while(scanf(" %d %d",&a,&b)!=EOF)
printf("%d\n",gcd(a,b));


return 0;
}
int gcd(int a,int b)
{
if(a==b)
return a;
if (a>b)
return gcd(a%b,b);
else
return gcd(b%a,a);
}

和我差不多解法,缺點是遞迴好慢啊 QQ

 
#12126: Re:C語言 遞迴解法


marada (馬達(集積迴路夢旅人))

學校 : 國立清華大學
編號 : 14082
來源 : [180.217.5.96]
最後登入時間 :
2022-01-18 22:26:10
a024. 最大公因數(GCD) | From: [220.132.178.226] | 發表日期 : 2017-06-03 22:54


#include<stdio.h>


int main()
{
int a,b;
while(scanf(" %d %d",&a,&b)!=EOF)
printf("%d\n",gcd(a,b));


return 0;
}
int gcd(int a,int b)
{
if(a==0)
return b;
if(a==b)
return a;
if (a>b)
return gcd(a%b,b);
else
return gcd(b%a,a);
}


修正一下,剛剛忘了a==0要終止遞迴 囧

 
ZeroJudge Forum