用VB求两个正整数的最大公约数和最小公倍数

用户输入两个数,最后显示出这2个数的最大公约数和最小公倍数别从百度知道和网上找答案发过来,我都看过了,有能力的情帮忙给写一下,非常感谢,加分感谢... 用户输入两个数,最后显示出这2个数的最大公约数和最小公倍数

别从百度知道和网上找答案发过来,我都看过了,有能力的情帮忙给写一下,非常感谢,加分感谢
展开
 我来答
farfamed
推荐于2016-11-11 · TA获得超过1039个赞
知道小有建树答主
回答量:520
采纳率:0%
帮助的人:1015万
展开全部
Private Sub Form_Click()
Dim m As Long, n As Long
m = Val(InputBox("请输入第一个数:"))
n = Val(InputBox("请输入第二个数:"))

If m < 1 Or n < 1 Then MsgBox "两个数均需为正整数!": Exit Sub

MsgBox "最大公约数是" & MaxGys(m, n) & vbCrLf & "最小公倍数是" & MinGbs(m, n)

End Sub

Rem 求两个数的最大公约数
Private Function MaxGys(A As Long, B As Long)
Dim X As Long, Y As Long, K As Long
X = IIf(A >= B, A, B) 'x存入最大值
Y = IIf(A <= B, A, B) 'y 存入最小值
Do '辗转相除法
K = X Mod Y: If K = 0 Then Exit Do
X = Y: Y = K
Loop
MaxGys = Y
End Function

Rem 求两个数的最小公倍数
Private Function MinGbs(A As Long, B As Long)
MinGbs = A * B / MaxGys(A, B)
End Function
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式