素数
:只有两个正因数(1和它本身)的自然数即为质数。比1大但不是素数的数称为合数。
合数
:合数是指在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数
你可能会说不就是求解质数吗?有什么难的,我三下五除二就给你解决了。只能说雀食是,对
于数据量较小的质数求解,我们分分钟搞定。但是如果我要求对于2-107以内的素数呢?这可
怎么办107的数据量特定要超时了呀。唉好不容易有一道会写的题还给超时了,真气人😈。
今天呢咱们就带大家学习一下,如何优美的求解出大数据量下的素数。
=============================================================================
将2~n之间所有的素数筛选出来,其中n<=10^6
样例输入:n 一个整数,作为筛选区间的右边界
样例输出:2-n之间的素数个数(包括n)
使用常规方法进行筛选的话会,如果数据规模较小还可以
如果数据规模较大就会很耗费时间。
可以大致分为一下几类:
- 新手筛(朴素筛)
- 新手优化筛
- 埃拉托斯特尼算法&#