主题:QBASIC编的哥德巴赫全猜想验证程序与质数判断程序,请提意见!
天山雪莲
[专家分:0] 发布于 2007-08-16 22:44:00
我用QBASIC编了哥德巴赫全猜想验证程序与质数查找与判断程序,
请各位QB爱好者看看,并请提出宝贵意见!
回复列表 (共25个回复)
21 楼
moz [专家分:37620] 发布于 2007-08-18 02:59:00
我不知道你是不是在卖弄,
但我觉得在这里卖弄好像不是一个好地方,
因为这里根本就没几个有能力去崇拜你的人.
因为我上一帖回复的时候没看到你的19楼发言,
所以说你扮猪吃老虎,
看到19楼以后,还是觉得你并没有太多卖弄的意思,
既然是诚恳的态度,到这个地方来本来就是学习,
反正我是这样的目的到这来的,我在这个地方的确也学了不少东西.
如果要藏私的话,我就没别的话说了.
我并没有死要脸的意思,
你的程序的确很快,
我的代码现在甚至还没算到九位数.而你的代码算八位数的时候只需要三十多秒,
当然比我的快很多,
而我能想到的只有是把质数表保存起来,下次使用的时候用二分法查找就快很多的,
可以说是即取即有,只是第一次算质数表的时候需要花很多的时间.
22 楼
天山雪莲 [专家分:0] 发布于 2007-08-18 03:11:00
首先感想moz的热心评价及回帖!
但不是您说的有眼无珠,是您开始没有仔细研究我的程序。
当然我也有责任写出中文的使用说明。
程序是真实的,上传以后也没有撤销或更改。
程序源代码我花了几年时间完善,目前还没有打算发表它。
为什么到这里来发表我的程序,是因为这是个QB论坛,我的
程序就是用QB编的,起码是有能够认同这种语言的同好在这里。
能收到你中肯的意见,我非常感谢和高兴!
再次感谢moz同志。
23 楼
moz [专家分:37620] 发布于 2007-08-18 03:45:00
1. 因为我当初找你要代码的时候,你很敷衍,所以我根本连程序不愿意去看,
2. 不愿意运行程序还有几个原因:1.没源代码,2.我没装杀毒
3. 运行过了,感觉速度还可以,
4. 用QB来做界面,还要是图形模式,我很少做这些事情,虽然我也做过.
5. 你居然还玩起版权,退出还要等十秒,我是从来没等过,不知道会不会有什么问题.
6. 我也给个代码你看看,在这里,我从来都只发代码.
只要不溢出,保证比你快,但是否正确,我倒是不敢说,
因为这是我今晚运行了你的程序后才临时编出来的东西.
7. 超出长整形的数值可以使用字符串来模拟运算过程(旧贴里一大堆)
DefLng A-Z
Function iszhisu(m)
If m Mod 2 = 0 Or m Mod 3 = 0 Or m Mod 5 = 0 Then Exit Function
q = Sqr(m)
If q Mod 2 = 0 Then q = q + 1
l = q
r = q
Do Until l < 5 Or r > m
Select Case r * l
Case m: Exit Function
Case Is > m: l = l - 2
Case Is < m: r = r + 2
End Select
Loop
iszhisu = -1
End Function
24 楼
moz [专家分:37620] 发布于 2007-08-18 15:36:00
做了一个梦以后,又有所得:于是遍地重复发贴,四处宣扬.
DEFLNG A-Z
FUNCTION IsZhiSu (m)
IF m MOD 2 = 0 OR m MOD 3 = 0 OR m MOD 5 = 0 THEN EXIT FUNCTION
q = SQR(m)
IF q MOD 2 = 0 THEN q = q + 1
r = q
l = q
m5 = m \ 5
DO UNTIL l < 7 OR r > m5
rl = r * l
SELECT CASE rl
CASE m: EXIT FUNCTION
CASE IS > m
t = (rl - m) \ r \ 2 * 2
IF t = 0 THEN l = l - 2 ELSE l = l - t
IF l MOD 10 = 5 THEN l = l - 2
CASE IS < m
t = (m - rl) \ l \ 2 * 2
IF t = 0 THEN r = r + 2 ELSE r = r + t
IF r MOD 10 = 5 THEN r = r + 2
END SELECT
LOOP
IsZhiSu = -1
END FUNCTION
25 楼
强强 [专家分:4740] 发布于 2007-08-19 13:19:00
厉害太厉害,
高手手太高。
佩服佩服
我来回复