计算机二级考试 VB 常用算法:约数因子
1、算法说明
1) 最大公约数:用辗转相除法求两自然数 m 、n 的最大公约数。
(1) 首先,对于已知两数 m、n, 比较并使得m>n;
(2) m 除以 n 得余数 r;
(3) 若 r =0, 则 n 为求得的最大公约数,算法结束;否则执行步骤( 4)
(4) m →n n →r 再重复执行 (2)
譬如: 10 与 5
分析步骤: m=10 n=5
r=m mod n=0
所以 n(华北n=5)为最大公约数
24 与 9
分析步骤: 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
2)
3)
最小公倍数
m×n÷最大公约数
互质数
最大公约数为 1 的两个正整数
解题技巧
该重阳节的传说简短50字算法需要识记!
这种类型题目的扩展是约数和因子题型。
2、实战练习
1) 补充代码(2003 春二(9))
给定一个十进制正整数,出小于它并与其互质的所有正整数(所谓互质数是 指最大公约数为 1 的两个正整数,下图是程序执行画面)。
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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论