前言:
目前姐妹们对“欧几里德算法最小公倍数”可能比较关怀,兄弟们都想要剖析一些“欧几里德算法最小公倍数”的相关内容。那么小编也在网络上收集了一些有关“欧几里德算法最小公倍数””的相关文章,希望你们能喜欢,兄弟们一起来学习一下吧!今天学习了刘金玉老师零基础VB教程的第53期,学习的主要内容是求解最大公约数与最小公倍数。
一、求解最小公倍数
1.数A与数B的最小公倍数=A*B/(A,B),即A乘以B除以A与B的最大公约数。
二、求解最大公约数
1.在VB中(A,B)表示A与B的最大公约数,最大公约数最经典方法是辗转相除法,也叫欧几里得算法。
第一步:使用两个数中较大的一个数A除以较小的一个数B,得到的余数R1。
第二步:使用较小的数B除以余数R1,得到第二个余数R2。
第三步:继续使用上一步余数R2和较小数B两个进行比较,用其中小的一个数除以大的数,得到第三个余数R3。
第四步:继续重复上一步做法,直到余数为0的时候,最后一步两个相除的数,较小的一个数即为最大公约数。
2.补充知识:Do while...loop循环
Do while 执行代码的条件
需要执行的代码
loop
只要条件为真,那么继续执行下一次循环。这个条件循环语句,do while后面的执行代码至少需要执行一次。
3.案例:开发计算最大公约数和最小公倍数的工具
①如图新建控件2个label控件,4个text控件,两个command控件。
②输入代码:
Function func(a As Integer, b As Integer) As Integer
If a < b Then
Dim C%
C = a
a = b
b = C
End If
Dim r%
r = a Mod b
Do While r <> 0
a = r
If a < b Then
C = a
a = b
b = C
End If
r = a Mod b
Loop
func = b
End Function
Private Sub Command1_Click()
Dim a%, b%, GYS%
a = Val(Text1.Text)
b = Val(Text2.Text)
GYS = func(a, b)
Text3.Text = GYS
End Sub
Private Sub Command2_Click()
Dim a%, b%, GBS%
a = Val(Text1.Text)
b = Val(Text2.Text)
GBS = a * b \ func(a, b)
Text4.Text = GBS
End Sub
③运行效果详见视频
视频加载中...
标签: #欧几里德算法最小公倍数