欧几里得算法:
以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,资料来源:https://baike.baidu.com/item/%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%97%E7%AE%97%E6%B3%95/1647675
 
算法说明(来自百度):

 

 

辗转相除法是利用以下性质来确定两个正整数 a 和 b 的最大公因子的:
⒈ 若 r 是 a ÷ b 的余数,且r不为0, 则
gcd(a,b) = gcd(b,r)
⒉ a 和其倍数之最大公因子为 a。
另一种写法是:
⒈ 令r为a/b所得余数(0≤r
若 r= 0,算法结束;b 即为答案。
⒉ 互换:置 a←b,b←r,并返回第一步。
 
实现欧几里得算法的伪代码:
read a
read b
while  a < b
     取b除以a的余数为c
      if c == 0
          write a
      else  
            使b = a 
               a = c
while  b > a  
      取a除以b的余数为c
     if c == 0
         write b
      else 
             使 a = b
                  b = c
If a == b
    write a 
 
4.检测

 

 

 
posted on 2021-11-04 20:13  20211422王俊凯  阅读(23)  评论(0编辑  收藏  举报