0037 求最大公約數

我的代碼: 

int gcd( int x, int y ){
	int t,t1,t2;
	if(x%y==0){
		return y;
	}
	else if(y%x==0){
		return x;
	}
	if(x<y){
		t=x;
		x=y;
		y=t;
	}
	while((x/2)!=y){
		t1=x-y;
		t2=y;
		if(t1<t2){
			x=t2;
			y=t1;
		}
		else if(t2<t1){
			x=t1;
			y=t2;
		}
	}
	return y;
}
//更相減損法
int gcd(int a,int b)
{
    while(a!=b)
    {
       if(a>b)
           a-=b;
       else
           b-=a;
    }
    return a;
}
//遞歸
int gcd(int a,int b)
{
    if(b==0)
       return a;
    else
       return gcd(b,a%b);     //a%b不管a與b誰大都能算
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章