龙空技术网

学习VB编程第42天,辅导孩子利器-求最大公约与最小公倍数

四川二流子从零学编程 117

前言:

目前姐妹们对“欧几里德算法最小公倍数”可能比较关怀,兄弟们都想要剖析一些“欧几里德算法最小公倍数”的相关内容。那么小编也在网络上收集了一些有关“欧几里德算法最小公倍数””的相关文章,希望你们能喜欢,兄弟们一起来学习一下吧!

今天学习了刘金玉老师零基础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

③运行效果详见视频

视频加载中...

标签: #欧几里德算法最小公倍数