//概念以及例項:
求兩個數的最大公約數和最小公倍數
//最大公約數:就是既可以整除numb1,也可以整除numb2,小於兩個數中的最小數(numb1)
//最小公倍數:再拿這兩個數分別除以最大公約數,再乘以最大公約數
$numb1=20
;$numb2=30
;$min
=$numb1
<
$numb2 ? $numb1 : $numb2;
$gys=1
;for
($i=
$min;$i
>=
1;$i--)
}$gbs
=$numb1
*$numb2
/$gys;
echo
"最大公約數為"
;echo
"最小公倍數為"
;echo"";
//輾轉相除法
//每一次拿最大數和最小數做取餘操作(30%20),不等於0(餘10),迴圈繼續執行,上一次計算的餘數(10)做除數,上一次的除數(20)做被除數,(20%10)當等於0的時候,結束,這次的除數(10)為最大公約數.
$numb1=20
;$numb2=30
;$max
=$numb1
>
$numb2 ? $numb1 : $numb2;
$min
=$numb1
+$numb2
-$max;
while
($max
%$min!=0
)echo
"最大公約數為"
;$gbs
=$numb1
*$numb2
/$min;
echo
"最小公倍數為"
;
輾轉相除法原理
輾轉相除法原理 假設有兩個數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...