如何求素数(重点为筛选法)
来源:互联网 发布:手机下载在线视频软件 编辑:程序博客网 时间:2024/06/05 12:42
素数是只能整除它自己和1的整数。
- 遍历2以上N的平方根以下的每一个整数,是不是能整除N
- 遍历2以上N的平方根以下的每一个素数,是不是能整除N;(这个方法是上面方法的改进,但要求N平方根以下的素数已全部知道)
- 筛选法:找出小于等于n的开方的素数,然后将n内所有这些素数的倍数统统去掉,剩下的数就都是素数。即”埃拉托斯特尼筛法”。
#include<cstdio>#include<iostream>#include <cmath>#include<string>#include<set>#include<iterator>#include<cstring>#define N 10001using namespace std;bool prime[101];int main(){ int i,j; memset(prime,1,sizeof(prime)); prime[0]=prime[1]=0; //先挖掉a[1] for(i=2; i*i<=100; i++){ //无需找1~n,只需找1~除数为根n if(prime[i]){ for(j=2*i; j<101; j+=i){ prime[j]=0; } } } for(i=2;i<101;i++){ if(prime[i]){ printf("%d ", i); } } return 0;}
4.线性素数筛:每一个合数都可以进行质因数分解,所以任何一个合数都可以由最小素因子进行唯一标记。线性筛中一个数字只被它最小的素因子筛掉,减少了重复删除造成的时间复杂度。
慢慢学,会慢慢补充的~~~
阅读全文
0 0
- 如何求素数(重点为筛选法)
- 素数筛(筛选法求素数)
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数/
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- 筛选法求素数
- php合并数组的几种方式
- 11月13日笔记
- 策略模式
- inf
- PAT (Basic Level) Practise (中文)1057. 数零壹(20)
- 如何求素数(重点为筛选法)
- 如何写一个RPC框架(五):服务器端实现
- HDU 1201 18岁生日
- 【NOIP2017】滚粗记
- TimeQuest之delay_fall clock_fall傻傻分不清楚
- vagrant init命令及其他一些命令
- 6.4
- 第一次做小游戏
- POJ-1159 Palindrome (区间dp)