分析步骤: 以下是引用片段: m=24 n=9 r=m mod n=6 r≠0 m=9 n=6 r=m mod n=3 r≠0 m=6 n=3 r=m mod n=0
所以n(n=3)为最大公约数
算法实现
循环实现
以下是引用片段: Private Function GCD(ByVal m As Long, ByVal n As Long) As Long Dim temp As Long If m < n Then temp = m: m = n: n = temp Dim r As Long Do r = m Mod n If r = 0 Then Exit Do m = n n = r Loop GCD = n End Function
递归实现
以下是引用片段: Private Function GCD(ByVal m As Long, ByVal n As Long) As Long Dim temp As Long If m < n Then temp = m: m = n: n = temp Dim r As Long r = m Mod n If r = 0 Then GCD = n Else m = n n = r GCD = GCD(m, n) End If End Function
以下是引用片段: Option Explicit Private Function gcd( (1) ) As Integer Dim r As Integer r = m Mod n If r = 0 Then gcd = n Else m = n: n = r (2) End If End Function Private Sub Command1_Click() Dim n As Integer, p As Integer n = Val(Text1) For p = n - 1 To 2 Step -1 If (3) Then List1.AddItem p Next p End Sub
2) 编程题
生成一个三行八列的二维数组A(3,8),其中前两行元素产生的方法是:
用初值X1=26及公式Xi+1=(25×Xi+357) Mod 1024,产生一个数列:X1、X2、......、X16 。