求助vb大神,一个VB编程题怎么编写编写一个名为myFun的
vb吧
全部回复
仅看楼主
level 3
沧海雨sky
楼主
求助vb大神,一个VB编程题怎么编写
编写一个名为myFun的函数,要求:
(1)函数包含二个参数a、b,均为Long类型
(2)函数值为Long类型
(3)函数功能:如果a,b均为正整数,则返回a、b的公约数的个数。否则返回0
(4)函数为全局函数,保存在上题工程的名为fun.bas的模块文件中
2018年06月09日 12点06分
1
吧务
level 10
wang1234051
很easy,可百度……
2018年06月09日 12点06分
2
沧海雨sky
百度上也没有
2018年06月09日 15点06分
level 10
贴吧用户_02EJyXU
public function myFun(byval a as long,byval b as long) as long
......
.......
end function
2018年06月09日 12点06分
3
沧海雨sky
中间的公式呢
2018年06月09日 15点06分
level 11
南瓜头0º
补充3楼的中间函数
Dim i as long
If a>b then
Dim stem as long
Stem=a:a=b:b=stem
End
For i=1 to a
If b mod i =0 and a mod i=0 then
myFun=myFun+1
End if
next
2018年06月09日 15点06分
8
level 11
南瓜头0º
简化后可以用这个
补充3楼的中间函数
Dim i as long
For i=1 to iif(a<b,a,b)
If b mod i =0 and a mod i=0 then
myFun=myFun+1
End if
next
2018年06月09日 15点06分
9
沧海雨sky
致谢!(`•ω•´)ゞ(`•ω•´)ゞ
2018年06月10日 07点06分
level 15
oshi001
厉害
2018年06月10日 00点06分
10
吧务
level 14
马云爱逛京东
顶个帖
2018年06月10日 02点06分
11
level 1
佛倒下了
If a>b then
Dim stem as long
Stem=a:a=b:b=stem
为什么要换一下
2020年08月08日 11点08分
12
初音✨七奈
为了保证a是两数中的较小者,避免增加不必要的循环
2020年08月08日 13点08分
吧务
level 13
Luosen56
' 两个数【a、b】公约数的个数【myFun(a, b)】
Public Function myFun(ByVal a As Long, ByVal b As Long) As Long
Dim i As Long, n As Long
myFun = 0: n = IIf(a < b, a, b)
For i = 1 To n
If (b Mod i = 0) And (a Mod i = 0) Then myFun = myFun + 1
Next
End Function
2020年08月08日 19点08分
14
1