在vb上了解到的算法

1.辗转相除法:

m = Val(InputBox("请输入一个数字"))
n = Val(InputBox("请输入一个数字"))
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
MsgBox ("最大公约数 = " & n)

第一处的if判断是为交换输入的值;

辗转相除法就是用 数 a , b 相除(如:a / b 如果得到余数r,就用b / r 相除)

又叫做欧几里德算法(卧槽,我以为是中国人发明的)

2. t = t*10+n

这个用于出现1;12;123;1234;12345这样的数

t = 0
For i = 1 To 9
    t = t * 10 + i
    Print Tab(11 - i); t & " X8+" & i & "=" & t * 8 + i
Next i

 

 
               1 X 8 + 1  = 9
              12 X 8 + 2  = 98
             123 X 8 + 3  = 987
            1234 X 8 + 4  = 9876
           12345 X 8 + 5  = 98765
          123456 X 8 + 6  = 987654
         1234567 X 8 + 7  = 9876543
        12345678 X 8 + 8  = 98765432                

 关键是t = t*10+n

 

posted @ 2019-06-16 22:49  DEVILNEVERCRY  阅读(143)  评论(0)    收藏  举报