[ACM]Python素数打表的方法
总而言之就是
- 2筛出4;
# ×2
- 2,3筛出6,9;
# ×3
- 2,3筛出8;
# ×4,4%2==0,直接跳出,故不计3×4=12,又因为2是4的最小素因子,所以4*3=(2*2)*3=2*(2*3)=2*6=12,即12会被6筛出,此处不需要多此一举
- 2,3,5筛出10,15,25;
# ×5
- 2,3,5筛出12,18,30;
# ×6,同理,6%2==3,后面的3,5不需要算了,因为6*5=(2*3)*5=2*(3*5)=2*15=30被15筛出,此处若计算3,5将多出大量无用计算
- 是否跳过多余计算比较:
Code:
1 | # -*-coding:utf-8-*- |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Chen0495的空间站!
评论