求最小公倍数和最大公约数
1.案例说明
几个数公有的倍数叫做这几个数的公倍数,其中最小的一个叫做这几个数的最小公倍数。
如12、18、20这三个数的最小公倍数为180。
最大公约数是指某几个整数的共有公约数中最大的那个数。如2.4、6这三个数的最大
公约数为2。
本例使用辗转相除法求两个自然数m、n的最大公约数和最小公倍数。
2.关键技术
本例首先求出两数m、n的最大公约数,再将m. n数的乘积除以最大公约数,即可得到
最小公倍数。
本例使用Do--Loop 循环,并且没有设置循环条件。一般情况下, 这种循环是一一个死循
环(也就是说程序将-一直循环下去), 因此,在这种循环结构中必须添加-一个判断语句,当达
到指定的条件时退出循环。如本例中使用以下语句退出循环:
If r=0 Then Exit DO
3.编写代码
(1)新建Excel工作簿,按快捷键“Alt+F11” 进入VBE环境。
(2)单击菜单“插入/模块”命令向工程中插入一个模块。
(3)在模块中编写以下子过程:
Sub 最小公倍数和最大公约数()
Dim m As Integer, n As Integer
Dim m1 As Integer, n1 As Integer
Dim r As Integer
m = InputBox("请输入第一个自然数m:")
n = InputBox("请输入第一个自然数n:")
m1 = m
n1 = n
If m1 < n1 Then
m1 = n
n1 = m '交换m和n
End If
Do
r = m1 Mod n1 '求余数
If r = 0 Then Exit Do
m1 = n1
n1 = r
Loop
str1 = m & "," & n & "的最大公约数=" & n1 & vbCrLf
str1 = str1 & "最小公倍数=" & m * n / n1
MsgBox str1
End Sub
(4)返回Excel操作环境,向工作表中插入-一个按钮,为按钮指定执行上步创建的宏。
联系客服