求14和6的最大公约数

Sub 方法1()
  m = 14
  n = 6
  If m < n Then t = m: m = n: n = t    '使得m>n
  r = m Mod n
  Do While (r <> 0)
    m = n
    n = r
    r = m Mod n
  Loop
  Debug.Print "最大约数为" & n
End Sub

Sub 方法2()
  m = 14
  n = 6
  gcd = IIf(m < n, m, n)          'gcd为m、n中较小数
  Do While (Not (m Mod gcd = 0 And n Mod gcd = 0))   'gcd不是m、n的公因子则循环
    gcd = gcd - 1
  Loop
  Debug.Print "最大约数为" & gcd
End Sub

posted @ 2021-12-02 10:37  人生就是修炼  阅读(96)  评论(0编辑  收藏  举报