加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VB求最小公倍数,最大公约数

(2010-10-26 20:45:09)
标签:

最小公倍数

最大公约数

杂谈

分类: 课堂教学

最大公约数算法说明:

用辗转相除法求两自然数m,n的最大公约数

1)首先,对于已知两数m,n,比较并使得m>n
2)m除以n得余数r;
3)若r=0,则n为求得的最大公约数,算法结束,否则执行步骤(4)
4)m←n  n ← r 再重复执行(2)
如:10与5
分析步骤: m=10 n=5
                   r=m mod n=0
                  所以n(n=5)为最大公约数
如24与9
分析步骤:m=24 n=9
                   r=m mod n=6
     r≠0  m=9 n=6
                  r=m mod n=3
                  r≠0  m=6 n=3
                 r=m mod n=0
               所以n(n=3)为最大公约数

 

1、最大公约数算法

Sub 最大公约数()
m = InputBox("输入第一个自然数")
n = InputBox("输入第二个自然数")
If m < n Then t = m: m = n: n = t
    r = m Mod n
    Do While (r <> 0)
         m = n
         n = r
         r = m Mod n
    Loop
    MsgBox ("最大公约数为" & n)
End Sub

2、最小公倍数算法

Sub 最小公倍数()
m = InputBox("输入第一个自然数")
n = InputBox("输入第二个自然数")
nm = n * m
If m < n Then t = m: m = n: n = t
    r = m Mod n
    Do While (r <> 0)
         m = n
         n = r
         r = m Mod n
    Loop
   MsgBox ("最小公倍数为" & nm / n)
End Sub

3、求最大公约数和最小公倍数

Sub 最大公约数()
m = InputBox("输入第一个自然数")
n = InputBox("输入第二个自然数")
nm = n * m
If m < n Then t = m: m = n: n = t
    r = m Mod n
    Do While (r <> 0)
         m = n
         n = r
         r = m Mod n
    Loop
    MsgBox ("最大公约数为" & n)
MsgBox ("最小公倍数为" & nm / n)
End Sub

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有