从键盘上输入两个正整数M和N,求最大公因子. VB

 我来答
甫桂兰仝雨
2020-02-15 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1037万
展开全部
你明白这种求公因数算法的思路就理解了。
这是辗转相除法
比如求
18

48
的最大公因数
第一部
大数除以小数取余数
48÷18=2……12
第二部
余数是零,结束运算,小数即为最大公因子;余数不是零,继续利用辗转相除法,小数除以余数再取余数
18÷12=1……6
第三步
如果余数是零,则计算结束,上步运算的除数即为最大公因子;否则继续利用辗转相除法,将上步的除数除以余数再取余数
12÷6=0
第四步,这个题目的余数是零,运算结束,最大公因子是上步中的除数6。
m,n不断交换,中间不分彼此,重要的是循环结束后的值
励淑琴阎丑
2019-01-13 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:32%
帮助的人:924万
展开全部
Private
Sub
Form_Click()
Dim
m
As
Integer
Dim
n
As
Integer
m
=
InputBox("请输入M的值")
m
=
Val(m)
m1
=
m
n
=
InputBox("请输入N的值")
n
=
Val(n)
n1
=
n
Do
While
n
0
remin
=
m
Mod
n
m
=
n
n
=
remin
Loop
Print
m1
&
"和"
&
n1
&
"的公因子为"
&
m
'这样就用到m1和n1了
End
Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
griefforyou
2006-06-23 · 超过20用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:54.2万
展开全部
Option Explicit

Private Sub Command1_Click()
Dim m As Integer
Dim n As Integer
Dim t As Integer, r As Integer, s As Integer
m = InputBox("请输入第一个数")
n = InputBox("请输入第二个数")
s = m * n
If m < n Then
t = m
m = n
n = t
End If
r = m Mod n
Do While r <> 0
m = n
n = r
r = m Mod n
Loop
Print "最大公约数:"; n
Print "最小公倍数:"; s / n
End Sub

参考资料: http://www.bc-cn.net/bbs/dispbbs.asp?BoardID=6&replyID=111553&id=59862&skin=0

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式