![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 16:54 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [讨论][共同参与]求1到1000所有素数的和 |
| 可打印版本 4,194 / 23 |
| 第16楼 tao0610 | 发表于 2007-01-25 04:48 |
| 高级用户 发帖 218 积分 579 | |
|
其实不得不爱版主原来写过一个,改改就能用了.
VB,C和批处理的运算机制应该不太一样.所以比较大的运算肯定高级语言效率高. |
|
| 第17楼 pengfei | 发表于 2007-01-25 05:38 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
楼上很不错的代码, 效率高, 规律找得好, 加分~~~
|
|
| 第18楼 lzmyst | 发表于 2007-01-25 05:50 |
| 新手上路 发帖 10 积分 19 | |
|
俺要COPY下来收藏慢慢看。
|
|
| 第19楼 qzwqzw | 发表于 2007-01-25 09:47 |
| 银牌会员 发帖 636 积分 2,343 | |
|
从头至尾看下来
除了15楼的筛选法有些与众不同外 其它代码的核心算法都是大同小异的试除法 只是在利用的语法特性和剪枝上有些变化 这导致算法效率很难有数量级的提升 所以,我们还是应该多在核心算法上多下功夫 我建议下一目标应该是:有效时间内完成单个任意32位整数是否素数的判定 -------------------------------------------------------------------------------------------- 下面的代码仍是基于16楼代码的变化形式 本来不想发的,只是觉得仍然有些新东西 |
|
| 第20楼 pengfei | 发表于 2007-01-25 10:03 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
16楼的代码在找规律上花了不少心血, 是不得不爱版主写的, 欣赏~~~
暂时叫这种方法为"素数相除法"吧, 也不知道对不对. 找到的这个规律还是有局限性的, 而且当取素数的范围超过1-10000, 就会出错, 必须再用101-1000以内或其他高位更多的素数除以10000以后的各数才能保证取到的为素数, 显然这种处理方法就不适宜处理更大的数了. 但求1-10000以内的素数效率还是很高的. 平时我们常用的是筛法求素数(算法在15楼), 但看了namejm版主4楼给出的页面链接印度计算机专家给出的新的算法, 说在处理更大的数时要快很多. 可是网页中给出的算法好像是用伪代码写的, 怎么看也看不懂. 先存好, 再细细去想吧~~~ [ Last edited by pengfei on 2007-1-25 at 10:53 AM ] |
|
| 第21楼 qzwqzw | 发表于 2007-01-25 10:31 |
| 银牌会员 发帖 636 积分 2,343 | |
|
关于以素数相除的算法起源很早,现在已很难考证
不过我是从willsort的代码中获取的素数相除的思想的 不得不爱的代码 http://www.cn-dos.net/forum/viewthread.php?tid=24951&fpage=0&highlight=&page=6 willsort的代码 http://www.cn-dos.net/forum/viewthread.php?tid=14580 ---------------------------------------------------------------------- 至于namejm给出链接 似乎有C语言的实现 但是国内根本就找不到 Google到的国外网址地震原因无法访问 ------------------------------------------------------------ 不过从国内讨论的结果来看 实现起来将很复杂 而且这是个概率算法 即判定结果是非确定性的 同时它的性能与实现方式严格相关 所以我基本上已不再考虑此算法 |
|
| 第22楼 pengfei | 发表于 2007-01-25 10:48 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
按qzwqzw兄来说, 这种概率算法没有他们讲的那么容易实现.
给出的伪代码算法, 看起来也是一知半解, 有点头疼的感觉~~~ |
|
| 第23楼 stornager | 发表于 2007-04-02 04:38 |
| 中级用户 发帖 131 积分 328 | |
|
if !a! equ 0 (
set flag=aaaa goto :eof ) else ( set flag=bbbb) ) 请问楼主这段代码是什吗意思? |
|
| 第24楼 stornager | 发表于 2007-04-02 04:46 |
| 中级用户 发帖 131 积分 328 | |
|
::::::::::::::::::Sub Function::::::::::::::::::::
:sss 请楼主告知这段代码是什么意思.?????????? |
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |