Prob_Solve 板


LINE

※ [本文转录自 Programming 看板 #1Tr9hPFc ] 作者: wa007123456 (大笨羊) 看板: Programming 标题: [问题] 使用bit来筛检质数 时间: Wed Nov 20 09:45:57 2019 各位好! 这个质数筛检法是这样的 假设一个byte变数A是0b11111111 (纪录1~8中间为质数的判断,1代表为质数,0代表不是质数 然後透过回圈计算判断 不是质数的就改为0 等到执行完成 可以得到变数A的纪录 再慢慢取出一个一个bit 然後显示是否为质数(bit值为1) 好处是储存空间是一般筛检法的1/32倍 我目前只有比较直观的写法: (网页版程式码): https://paste.ofcode.org/jianB5guTtNWMVPMsSp7vL ------------------------------------------------------------------------------ int index=0b1111111111111111111111111111111; //假设1~32的所有数 都为质数 for(byte i=2;i<32;i++){ for(byte k=2;k<i;k++) { if (i%k==0){ index&=~(1<<i); //如果i不是质数 就把它对应的位置设为0 break; } } } for(int i=1;i<32;i++) { //输出为质数的结果 if((index>>i&1)==1) //位元为'1' 代表他是质数 System.out.print(i+" "); } ----------------------------------------------------------------------------- 可是我想再缩短一半的记忆体空间,就是只要是偶数都不可能是质数(除了2) 各位大大有甚麽比较好的改法吗? 我目前想法是32个位元分别代表奇数不包含偶数 也就是每个bit的位置 所代表的意义变为 1 3 5 7 ..... 2i+1 (其中i正整数) 而不是 1 2 3 4 5 6.....i 这样 感谢各位大大 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.141.162.204 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Programming/M.1574214361.A.3E6.html ※ 编辑: wa007123456 (223.141.162.204 台湾), 11/20/2019 09:46:39



※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: wa007123456 (223.141.162.204 台湾), 11/20/2019 09:49:00 ※ 编辑: wa007123456 (223.141.162.204 台湾), 11/20/2019 09:56:10
1F:推 FRAXIS: https://github.com/kimwalisch/primesieve 11/20 12:05
2F:推 DJWS: 你的想法挺好的啊 如果还要更好 可以看楼上连结的src页面 11/20 13:37
3F:→ DJWS: k = { 7, 11, 13, 17, 19, 23, 29, 31 } 11/20 13:38
4F:→ DJWS: 这个方法的名称叫做 wheel factorization 11/20 13:39







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP