素数筛法
素数筛法
yuzhang_zy
现在的我不是最好的我,未来的我才是最好的我,每一篇博客都记录着我的成长
展开
-
第十二届蓝桥杯国赛纯质数(埃氏筛法)
1. 问题描述: 如果一个正整数只有 1 和它本身两个约数,则称为一个质数(又称素数)。前几个质数是: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, · · · 。如果一个质数的所有十进制数位都是质数,我们称它为纯质数。例如: 2,3, 5, 7, 23, 37 都是纯质数,而 11, 13, 17, 19, 29, 31 不是纯质数。当然 1, 4, 35也不是纯质数。请问,在 1 到 20210605 中,有多少个纯质数? 2. 思路分析: 分析题目可以知原创 2021-06-05 23:13:09 · 1720 阅读 · 4 评论 -
埃氏筛法求解质数模板
一般求解1~n范围内的质数常见的有两种方法:线性筛和埃氏筛法,对于n不是特别大的时候线性筛还是有效的,但是一旦当n超过某个规模的时候线性筛就会变得很慢,有可能计算不出来,这个时候就需要使用到埃氏筛法,埃氏筛法的一个核心是将声明一个长度为n的标记数组,将质数对应的倍数全部标记为1,质数的倍数肯定是合数,所以只有当前位置对应的值为0的时候说明当前位置i是一个素数,将其加入到结果集中即可,在java语言中埃氏筛法对于n = 10 ^ 8内的质数还是可以计算出来的(),比10 ^ 8大一点的数字需要几秒就可以计算出原创 2021-06-05 22:18:48 · 183 阅读 · 0 评论