vb大题,编写一个过程计算两个整数的最大公约数。 求高手解答,表示不会 20

 我来答
半边河
2015-07-11 · 有人在前有人在后,保持谦逊、保持低调。
半边河
采纳数:135 获赞数:322

向TA提问 私信TA
展开全部
分析:首先要搞清楚什么是约数,如果a 除以b的余数为0,那么a称为b的倍数,b称为a 的约数;什么又是公约数?几个数所共同拥有的约数就叫公约数。什么又是最大公约数?这几个数所共同拥有的公约数中最大的数就是最大公约数;由此可见最大公约数一定不大于给定的数中最小的那个数。

你遇到的问题是求两个整数的最大公约数。因此我们可以先获取这两个数中较小的那个,然后丙来计算他们的最大公约数。
我们需要定义几个变量:1、tempMin 用来存放较小的那个数;2、i 用来循环计数,i从2开始,每次增加1;3、gcd 用来计算最大公约数; 4、假定你所给的数取值范围是integer,并且都大于2,如果是1就没意义了
private Function GreatestCommonDivitor(byval a as Integer,byval b as integer ) as Integer
dim tempMin as Integer
dim i as integer

dim gcd as integer = 1

'求出较小的那个数
if a>= b then
tempMin = b
else
tempMin = a
end if
for i = 2 to tempMin
'mod是取余数的运算符

if a Mod i= 0 and b mod i = 0 then

gcd = gcd * i

end if
next
GreatestCommonDivitor = gcd
End Function
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式