指定区间的素数统计的几种方法
来源:互联网 发布:怎么处理文件集中 编程 编辑:程序博客网 时间:2024/06/06 10:59
<pre name="code" class="cpp">#include <iostream>#include <math.h>#define SIZE 100using namespace std;//判断number是不是素数bool isPrime(int number){if(number<=1)return false;for(int i=2;i<=sqrt((double)number);++i){if(0==number%i)return false;}return true;}//计算区间内所有的素数int countPrimesInRange(int prime[],const int lower,const int upper){int count=0;for(int i= lower;i<=upper;++i){if(isPrime(i))++count;elseprime[i-lower+1]=1;}return count;}//计算小于n的所有素数void countPrimeLessThanN(int prime[],const int n){int i=2;int mid = n/2+1;while(i<=mid){for(int j = i+1; j<= n; ++j){if(0== prime[j] && 0 == j % i)prime[j] = 1;}++i;while(prime[i] == 1)++i;}prime[1]=1;}int main(){ int prime[SIZE +1]={0};int prime2[SIZE+1]={0};int n=0;cin>>n;countPrimesInRange(prime,1,n);cout<<endl;int k=1;for(int i=1;i<=n;i++){if(0 == prime[i]){++k;cout<<i<<"\t";}if(8==k){k=1;cout<<endl;}}countPrimeLessThanN(prime2,n);cout<<endl<<"----------------------------------"<<endl;k=1;for(int i=1;i<=n;i++){if(0 == prime2[i]){++k;cout<<i<<"\t";}if(8==k){k=1;cout<<endl;}}int z;cin>>z;return 0;}
运行结果如下图所示
1 0
- 指定区间的素数统计的几种方法
- 求素数的几种方法
- 求素数的几种高效方法
- 求素数的几种方法
- 几种检验素数的方法
- 几种检验素数的方法
- 求素数的几种方法
- 筛选素数的几种方法
- 求素数的几种方法
- 几种素数的判定方法
- 求素数的几种方法
- 判断素数的几种方法
- 求素数的几种高效方法
- 判断素数的几种方法
- 循环三 统计给定区间内素数的个数
- 统计学习的几种方法
- 时间统计的几种方法
- 几种统计字符串个数的方法
- xcode模拟器 切换页面缓慢
- angular
- Python yield 使用浅析
- 关于 软中断
- Qt Creator在Windows上的调试器安装与配置
- 指定区间的素数统计的几种方法
- c++第四次实验
- android安全——Activity劫持的防范程序
- centos6.3下安装中文输入法
- 设计模式C++学习笔记之五(Factory Method工厂方法模式)
- 算法时间复杂度
- 直播攻略:网易视频云送上OBS直播完整版教程
- Linux 安装lxml及各种问题的解决
- Python -- 冒泡排序算法