一.演算法分析
1.演算法定義為:在有限的步驟內解決數學問題的程式,即為了解決某項工作或某個問題,所需要有限數量的機械性或重複性指令與計算步驟。
2.最大公約數:可整除兩個整數的最大整數。
3.用兩個數中較大的整數除以較小的數,求得商和餘數。
二.源**
# coding:gbk
num_1 = int(input("請輸入乙個整數: "))
num_2 = int(input("請輸入乙個整數: "))
if num_1 < num_2:
tmp_num = num_1 # 是交換而不是賦值
num_1 = num_2
num_2 = tmp_num
while num_2 != 0:
tmp_num = num_1 % num_2
num_1 = num_2
num_2 = tmp_num
print('輸出這兩個整數的最大公約數:', num_1)
三.結果截圖
輾轉相除法原理
輾轉相除法原理 假設有兩個數x和y,存在乙個最大公約數z x,y 即x和y都有公因數z,那麼x一定能被z整除,y也一定能被z整除,所以x和y的線性組合mx ny也一定能被z整除。m和n可取任意整數 對於輾轉相除法來說,思路就是 若x y,設x y n餘c,則x能表示成x ny c的形式,將ny移到左...
約分 輾轉相除法
include using namespace std int main int temp1 int temp2 cin temp1 temp2 int a temp1 int b temp2 while b 0 int temp a b a b b temp cout 輾轉相除法 輾轉相除法是求兩...
模板 輾轉相除法
處理最大公因數時十分好用 但是我證不出來。gcd a,b gcd b,a mod b b 0 設兩數為a b a b 用gcd a,b 表示a,b的最大公約數,r a mod b 為a除以b的餘數,k為a除以b的商,即a b kr。輾轉相除法即是要證明gcd a,b gcd b,r 第一步 令c g...