Python3 20 輾轉相除法

2021-09-25 04:05:37 字數 722 閱讀 3327

一.演算法分析

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...