求约数如何用计算机来实现,计算机等级考试二级VB常用算法(5):约数因子

本文详细介绍了使用辗转相除法(欧几里得算法)来求解两个自然数的最大公约数(GCD)的算法实现,包括循环和递归两种方法,并给出了具体步骤及示例。同时,提到了最小公倍数的计算方法,即两数乘积除以公约数。此外,还讨论了互质数的概念,即公约数为1的两个正整数。这些基础知识在计算机等级考试中常考,特别是VB编程中常见的算法问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6e07e29112a930b329127bfc43af227f.png

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

递归实现

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

2) 最小公倍数

m×n÷公约数

3) 互质数

公约数为1的两个正整数

解题技巧

该算法需要识记!

这种类型题目的扩展是约数和因子题型。

2829f2ca24f0d0090cbba57f30759f23.png

计算机等级考试二级VB常用算法(5):约数因子.doc

下载Word文档到电脑,方便收藏和打印[全文共870字]

编辑推荐:

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

下载Word文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值