两种筛法比较
来源:互联网 发布:阿里云ntp服务器 编辑:程序博客网 时间:2024/06/05 23:59
看我两种筛法:
#include<iostream>#include<vector>#include<cmath>#include<cstring>using namespace std;int n,m,primes[110],isprime[110],cnt=0;int shaifa_1(){int i,j;for(i=2;i<=n;i++){if(!isprime[i])primes[cnt++]=i;for(j=i*i;j<=n;j+=i) //如果i是1000000时,j可能超过int范围,看题目数据范围,小心 j 溢出 ,我就遇到过这个坑 isprime[j]=-1;}for(i=0;i<cnt;i++)cout<<primes[i]<<" ";cout<<endl;}int shaifa_2(){int i,j;m=sqrt(n)+1;//区别 1 for(i=2;i<=m;i++){ //区别 2 : i<=m if(!isprime[i])primes[cnt++]=i;for(j=i*i;j<=n;j+=i)isprime[j]=-1;}for(i=m+1;i<=n;i++){ //多了这一块 if(!isprime[i])primes[cnt++]=i;}for(i=0;i<cnt;i++)cout<<primes[i]<<" ";cout<<endl;}int main(){memset(isprime,0,sizeof(isprime));cin>>n;//shaifa_1(); shaifa_2(); //两种结果一样,第二种速度快一点 ,推荐 shaifa_2return 0;}
1 0
- 两种筛法比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- 比较
- TREESET比较器比较
- 最近比较忙,比较忙,比较忙
- 最近比较烦比较烦比较烦。
- 知网查重报告如何看
- springboot
- 【Coursera Machine Learning】 Week1 学习笔记
- windows安装lxml
- LCS(Longest Common Subsequence 最长公共子序列)
- 两种筛法比较
- linux 安装tomcat
- 最全面的Socket使用解析
- poj 2049 Finding Nemo(3D搜索)
- 中缀表达式与后缀表达式之间的转换
- iOS实现向多个社交网站(facebook,微信,微博,twitter等)分享的代码,支持iPhone和iPAD(分享链接编码)
- RPC架构简单理解
- matlab中的图像坐标系统
- 深入理解java虚拟机学习笔记(一、走近java)