物理大腕2010-07-11 17:31:24 +0800 #1
[这个贴子最后由物理大腕在 2006/01/10 12:56pm 第 1 次编辑]
1.判断奇数\偶数
Function IsEven(num as Integer) as Boolean
IsEven=iif(num mod 2=0,True,False) ';偶数返回True,奇数返回False
end Function
物理大腕2010-07-11 17:31:24 +0800 #2
[这个贴子最后由物理大腕在 2006/01/10 10:17am 第 2 次编辑]2.判断一个数是不是素数Function IsPrime(num as Integer) as Boolean';素数和1返回False,负数\合数和0返回TrueDim i as Integer,sqr_num=sqr(num) If num
物理大腕2010-07-11 17:31:24 +0800 #3
以下帖子可能引用到前面的内容,为了简单起见,如果没有特殊说明,参数都是正整数,不再进行参数检查.
物理大腕2010-07-11 17:31:24 +0800 #4
[这个贴子最后由物理大腕在 2006/01/10 01:03pm 第 1 次编辑]3.求最小公倍数Function ComMul_min(num1 as Integer,num2 as Integer) as Integer dim i as integer If num1
物理大腕2010-07-11 17:31:24 +0800 #5
4.求最大公约数算法一:Function ComDiv_max(num1 as Integer,num2 as Integer) as Integerdim i as integerIf num1
物理大腕2010-07-11 17:31:24 +0800 #6
算法二:
辗转相除法(暂空)
物理大腕2010-07-11 17:31:24 +0800 #7
[这个贴子最后由物理大腕在 2006/01/12 10:35am 第 1 次编辑]
6.验证哥德巴赫猜想
返回值为一结构
Type Prime
num1 as integer
num2 as integer
End Type
下面的程序去掉了验证参数的步骤(即假设参数已经是大于2的偶数),而且用到了前面判断素数的程序
Function GDBH(num as integer) as Prime
Dim n as Prime,i as integer
For i=2 to num/2
If not(IsPrime(i) and IsPrime(num-i)) Then
n.num1=i:n.num2=num-i
Exit For
End If
Next
GDBH=n
End Function
王山而2010-07-11 17:31:24 +0800 #8
希望能看到运行情况。比如
求三个数的最大公约与最小公倍——
附件: 您所在的用户组无法下载或查看附件
王山而2010-07-11 17:31:24 +0800 #9
再如——
验证哥德巴赫猜想
附件: 您所在的用户组无法下载或查看附件
王山而2010-07-11 17:31:24 +0800 #10
Bill61892010-07-11 17:31:24 +0800 #11
引用:下面引用由王山而在 2006/01/14 05:03am 发表的内容:
再如——
验证哥德巴赫猜想
建议你使用列表控件来列举结果,这样即使用多少千项万项都可以完全显示出来。你这样只能显示几十项,不足以验证。
王山而2010-07-11 17:31:24 +0800 #12
[这个贴子最后由王山而在 2006/01/15 02:47pm 第 1 次编辑]
我做的需要多显示几次。
您说的我不懂,传上来看一看,好吗?
Bill61892010-07-11 17:31:24 +0800 #13
我给个思路你,你画一个列表控件,如名字是List1,那么你把你的输出结果语句改为“List1.AddItem 输出结果的表达式”即可。清除列表用List1.Clear。
王山而2010-07-11 17:31:24 +0800 #14
引用:下面引用由Bill6189在 2006/01/16 10:35pm 发表的内容:
我给个思路你,你画一个列表控件,如名字是List1,那么你把你的输出结果语句改为“List1.AddItem 输出结果的表达式”即可。清除列表用List1.Clear。
不妨把你做的传上来看看.
Bill61892010-07-11 17:31:24 +0800 #15
我现在电脑里没有装VB,光驱又拆走了,不好意思。
王山而2010-07-11 17:31:24 +0800 #16
引用:下面引用由Bill6189在 2006/01/18 07:51pm 发表的内容:
我现在电脑里没有装VB,光驱又拆走了,不好意思。
其实您说的办法根本就解决不了那么大的难题。不信您就找台电脑试一试.
物理大腕2010-07-11 17:31:24 +0800 #17
很高兴大家给予关注.
我这里只是重点讨论计算方法,至于其界面实现,可以依据不同的爱好和需求.
王山而2010-07-11 17:31:24 +0800 #18
[这个贴子最后由王山而在 2006/01/20 02:59pm 第 1 次编辑]引用:下面引用由Bill6189在 2006/01/16 10:35pm 发表的内容:我给个思路你,你画一个列表控件,如名字是List1,那么你把你的输出结果语句改为“List1.AddItem 输出结果的表达式”即可。清除列表用List1.Clear。
你信箱已满!只好贴在这儿啦!因短信容纳不下,且不让用附件形式。我删去的部分如下:Private Sub Command1_Click()Rem 任何大于6的偶数都是两个奇素数之和Printn = Val(Text1(0).Text)k = Val(Text1(1).Text) If n > k Then
MsgBox "终值必须大于初值!" End If~~~~~~以下这些已发去Do While n
Bill61892010-07-11 17:31:24 +0800 #19
程序OK了。我只是为了说明可以使用List控件,因而其它控件会不加修饰的。
附件: 您所在的用户组无法下载或查看附件
王山而2010-07-11 17:31:24 +0800 #20
谢谢!
明白你的意思啦.
VB求教2010-07-11 17:31:30 +0800 #21
不能下载
回复