VB程序,求助高人

来源:百度知道 编辑:UC知道 时间:2024/05/31 09:57:50
下列程序求两个正整数M、N的最大公约数

Private Sub Form_Click()
Dim m As Integer,n As Integer,r As Integer
m=InputBox("请输入M的值:"):n=InputBox("请输入N的值:")
Print m;"和";n;"的最大公约数是:"
r=m Mod n
Do Until______
m=n:n=r:r________
Loop
Print n
End Sub
额上面,是在横线上填缺少的步骤,麻烦把思路也说下呢,谢谢
Private Sub Form_Click()
Dim a As Integer,s As Integer
a=5:s=0
Do While a<=0
s=s+a:a=a-1
loop
Print s;a
End Sub

求S,A的值,也要详细步骤,答得好的,偶会加分的,谢谢啦

Private Sub Form_Click()
Dim m As Integer,n As Integer,r As Integer
m=InputBox("请输入M的值:"):n=InputBox("请输入N的值:")
Print m;"和";n;"的最大公约数是:"
r=m Mod n
Do Until r=0
m=n:n=r:r=m mod n
loop
Print n
End Sub

题一思路:1,对于已知两数m,n.使得m>n.
2,m除以n得余数r
3,若r不等于0,则把n的值给m,把r的值给n,继续相除得到新的r,直到r=0求得最大公约数。

第二题 s=15,a=0 ,这首题是求 1+2+3+4+5的和。

Function Max公约数(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
Max公约数 = Y
End Function

第一个程序应该考虑m和n的大小,保证m大于n

第二个程序虽然可能你想要1+2+3+4+5,但那个Until条件弄错了,应该是
Do While a>=0