求兩個正整數的最大公約數

2021-07-29 09:01:52 字數 1176 閱讀 2343

//*********求兩個正整數的最大公約數問題***********

//版本:v1.0

//主要功能:

//(1)輾轉相除法: ① a%b得餘數c

// ② 若c=0,則b即為兩數的最大公約數,結束

// ③ 若c≠0,則a=b,b=c,再回去執行①

//(2)相減法 :兩整數a和b:

// ① 若a>b,則a=a-b

// ② 若a=b,則a(或b)即為兩數的最大公約數,結束

// ③若a≠b,則再回去執行①

//(3)窮舉法:

// ① i= a b中的小數

// ② 若a,b能同時被i整除,則i即為最大公約數,結束

// ③ i--,再回去執行②

////************************************

#include

int main()

else

}return0;}

//判斷輸入整數的正確性

int judge(int a,int b)

//輾轉相除法求兩數的最大公約數

int divisor1 (int a,int b)

while(b!=0) //通過迴圈求兩數的餘數,直到餘數為0

return a; //返回最大公約數到呼叫函式處

} //相減法求兩數的最大公約數

int divisor2 (int a,int b)

a=a-b;

}

}return a; //返回最大公約數到呼叫函式處

} //窮舉法求兩數的最大公約數

int divisor3 (int a,int b)

for(int i=a;i>0;i--)

if(a%i==0&&a&&b%i==0) //若a,b能同時被i整除,則i即為最大公約數

break;

return i; //返回最大公約數到呼叫函式處

}

求兩個正整數的最大公約數

基本要求 從鍵盤輸入兩個整數,輸出兩個整數的最大公約數。用c或c 語言實現程式解決問題。1.程式風格良好 使用自定義注釋模板 2.使用三種演算法解決問題 3.提供友好的輸入輸出,並進行輸入資料的正確性驗證 方法一 窮舉法 窮舉法,顧名思義,就是乙個乙個試,即遍歷兩個整數中較小的數到零的所有數,如果能...

求兩個正整數的最大公約數Python版

求兩個數的最大公約數我分別採用輾轉相除法,輾轉相減法,列舉法來求得。最小公倍數就是兩個數之積除以最大公約數的結果。1.將兩整數求餘 a b x 2.如果x 0 則b為最大公約數 3.如果x 0,則 a b b x 繼續從1開始執行 4.也就是說該迴圈的是否繼續的判斷條件就是x是否為0 輾轉相除法 d...

給定兩個正整數,求它們的最大公約數。

題目 給定兩個正整數,求它們的最大公約數。include include using namespace std 利用遞迴的思想求最大公約數 關鍵要理解第一次求最大公約數未果 之後,這時候第一次要求的最大公約數就等於 求b對a b的最大公約數,於是產生遞迴關係。int fun int a,int b...