#10367: 一直TEL該如何修正?


40475024H (108電機)

學校 : 國立臺灣師範大學
編號 : 53233
來源 : [61.60.218.218]
最後登入時間 :
2016-03-13 14:05:04
a024. 最大公因數(GCD) | From: [61.60.221.92] | 發表日期 : 2015-10-18 00:20

#include<stdio.h>

#include<math.h>

#include<limits.h>

int main(){

int a;

int b;

int c;

while(scanf("%d%d",&a,&b)!=EOF){

if(a%b==0){

printf("%d",b);

}

if(b%a==0){

printf("%d",a);

}

c=a;

while(c>=1){

if(a%c==0&&b%c==0){

 

printf("%d",c);

c--;}

else{

c--;

}

}

 

}

return 0;

}

 
#10582: Re:一直TEL該如何修正?


d2513850 (林勇智)

學校 : 崑山科技大學
編號 : 5102
來源 : [114.140.72.110]
最後登入時間 :
2024-10-20 17:35:39
a024. 最大公因數(GCD) | From: [111.184.249.106] | 發表日期 : 2015-12-28 01:13

#include

#include

#include

int main(){

int a;

int b;

int c;

while(scanf("%d%d",&a,&b)!=EOF){

if(a%b==0){

printf("%d",b);

}

if(b%a==0){

printf("%d",a);

}

c=a;

while(c>=1){

if(a%c==0&&b%c==0){

 

printf("%d",c);

c--;}

else{

c--;

}

}

 

}

return 0;

}


直接使用輾轉相除法:
int gcd(int x,int y){/*使用輾轉相除法*/
    if(y==0){
        return x;
    }else{
        return gcd(y,x%y);
    }
}

另外在printf()使用gcd(x,y):

printf("%d\n",gcd(x,y));

 
#10583: Re:一直TEL該如何修正?


securenai (securenai)

學校 : 國立中正大學
編號 : 39618
來源 : [114.42.65.144]
最後登入時間 :
2016-01-29 14:49:09
a024. 最大公因數(GCD) | From: [125.227.255.80] | 發表日期 : 2015-12-28 15:20

a

 
#10584: Re:一直TEL該如何修正?


securenai (securenai)

學校 : 國立中正大學
編號 : 39618
來源 : [114.42.65.144]
最後登入時間 :
2016-01-29 14:49:09
a024. 最大公因數(GCD) | From: [125.227.255.80] | 發表日期 : 2015-12-28 15:21

 




 
ZeroJudge Forum