<编程>比较两种素数表生成算法+计算程序运行时间+通过CMD重定向测试程序
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<vector>
#include<iterator>
#include<algorithm>
#include<ctime>
#include<cstring>
usingnamespace std;
bool isPrimeNumber(int num);
void judgePrimeNumber(int range,vector<int>&primeNumberList);
int main(void)
{
int range;
vector<int> primeNumberListJ;
while(cin){
cin >> range;
judgePrimeNumber(range, primeNumberListJ);
for(unsignedint i =; i < primeNumberListS.size(); i++)
cout << primeNumberListJ.at(i)<< endl;
primeNumberListJ.clear();
}
return 0;
}
bool isPrimeNumber(int num)
{
if(num <)
return false;
for(int i =; i * i <= num; i++){
if(num % i ==)
return false;
}
return true;
}
void judgePrimeNumber(int range,vector<int>&primeNumberList)
{
for(int i =; i <= range; i++)
if(isPrimeNumber(i))
primeNumberList.push_back(i);
}
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<vector>
#include<iterator>
#include<algorithm>
#include<ctime>
#include<cstring>
usingnamespace std;
bool isPrimeNumber(int num);
void selectPrimeNumber(int range,vector<int>&primeNumberList);
int main(void)
{
int range;
vector<int> primeNumberListS;
while(cin){
cin >> range;
selectPrimeNumber(range, primeNumberListS);
primeNumberListS.clear();
}
return 0;
}
bool isPrimeNumber(int num)
{
if(num <)
return false;
for(int i =; i * i <= num; i++){
if(num % i ==)
return false;
}
returntrue;
}
void selectPrimeNumber(int range,vector<int>&primeNumberList)
{
bool*numMap =newbool[range +];
memset(numMap,true,sizeof(bool)*(range +));
numMap[]=false;
for(int i =; i <= range;){
while(!numMap[i]&& i <= range)
i++;
for(int j = i + i; j <= range; j += i){
if(!numMap[j])
continue;
numMap[j]=false;
}
i++;
}
for(int i =; i <= range; i++)
if(numMap[i])
primeNumberList.push_back(i);
delete[] numMap;
}
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<vector>
#include<iterator>
#include<algorithm>
#include<ctime>
#include<cstring>
usingnamespace std;
bool isPrimeNumber(int num);
void selectPrimeNumber(int range,vector<int>&primeNumberList);
void judgePrimeNumber(int range,vector<int>&primeNumberList);
int main(void)
{
int range;
vector<int> primeNumberListS;
vector<int> primeNumberListJ;
clock_t beginTime;
clock_t endTime;
while(cin){
cin >> range;
beginTime = clock();
selectPrimeNumber(range, primeNumberListS);
endTime = clock();
cout <<"select Time: "
<<double(endTime - beginTime)/ CLOCKS_PER_SEC
<< endl;
beginTime = clock();
judgePrimeNumber(range, primeNumberListJ);
endTime = clock();
cout <<"judge Time: "
<<double(endTime - beginTime)/ CLOCKS_PER_SEC
<< endl;
primeNumberListS.clear();
primeNumberListJ.clear();
}
return0;
}
bool isPrimeNumber(int num)
{
if(num <)
return false;
for(int i =; i * i <= num; i++){
if(num % i ==)
return false;
}
return true;
}
void selectPrimeNumber(int range,vector<int>&primeNumberList)
{
bool*numMap =newbool[range +];
memset(numMap,true,sizeof(bool)*(range +));
numMap[]=false;
for(int i =; i <= range;){
while(!numMap[i]&& i <= range)
i++;
for(int j = i + i; j <= range; j += i){
if(!numMap[j])
continue;
numMap[j]=false;
}
i++;
}
for(int i =; i <= range; i++)
if(numMap[i])
primeNumberList.push_back(i);
delete[] numMap;
}
void judgePrimeNumber(int range,vector<int>&primeNumberList)
{
for(int i =; i <= range; i++)
if(isPrimeNumber(i))
primeNumberList.push_back(i);
}


coding.exe < in.txt

coding.exe > out.txt
type in.txt | coding.exe > out.txt
<编程>比较两种素数表生成算法+计算程序运行时间+通过CMD重定向测试程序的更多相关文章
- ACM -- 算法小结(十)素数的两种打表法
素数的两种打表法 下面介绍两种素数打表法,由于是两年前留下的笔记,所以没有原创链接~~ @_@!! 第一种疯狂打表法: #include<stdio.h> #include<math ...
- Perl 面向对象编程的两种实现和比较:
<pre name="code" class="html">https://www.ibm.com/developerworks/cn/linux/ ...
- IPVS和Nginx两种WRR负载均衡算法详解
动机 五一临近,四月也接近尾声,五一节乃小长假的最后一天.今天是最后一天工作日,竟然感冒了,半夜里翻来覆去无法安睡,加上窗外大飞机屋里小飞机(也就是蚊子)的骚扰,实在是必须起来做点有意义的事了! ...
- 两种常用的全排列算法(java)
问题:给出一个字符串,输出所有可能的排列. 全排列有多种算法,此处仅介绍常用的两种:字典序法和递归法. 1.字典序法: 如何计算字符串的下一个排列了?来考虑"926520"这个字符 ...
- iOS打包为ipa的两种方式和生成P12证书的方式
iOS项目打包为ipa的两种方式: 准备工作:先行在Xcode里面打开preferences,填写apple id. 通过iTunes+Xcode 在Xcode里,把模拟器调整为iOS Device, ...
- js实现两种实用的排序算法——冒泡、快速排序
分类:js (4443) (0) 零:数据准备,给定数组arr=[2,5,4,1,7,3,8,6,9,0]; 一:冒牌排序 1思想:冒泡排序思想:每一次对比相邻两个数据的大小,小的排在前面,如果前 ...
- Go -- 并发编程的两种限速方法
引子 golang提供了goroutine快速实现并发编程,在实际环境中,如果goroutine中的代码要消耗大量资源时(CPU.内存.带宽等),我们就需要对程序限速,以防止goroutine将资源耗 ...
- golang并发编程的两种限速方法
引子 golang提供了goroutine快速实现并发编程,在实际环境中,如果goroutine中的代码要消耗大量资源时(CPU.内存.带宽等),我们就需要对程序限速,以防止goroutine将资源耗 ...
- 异步编程的两种模型,闭包回调,和Lua的coroutine,到底哪一种消耗更大
今天和人讨论了一下CPS变形为闭包回调(典型为C#和JS),以及Lua这种具有真正堆栈,可以yield和resume的coroutine,两种以同步的形式写异步处理逻辑的解决方案的优缺点.之后生出疑问 ...
随机推荐
- MinGW在Windows环境下配合命令提示符运行C/C++
http://jingyan.baidu.com/article/4853e1e5787d6b1909f726f8.html 在电脑中配置MinGW环境. 具体参见我的另一篇分享经验——MinGW在W ...
- [反汇编练习] 160个CrackMe之033
[反汇编练习] 160个CrackMe之033. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...
- 拒绝ssh远程暴力破解
拒绝ssh远程暴力破解 简介 在网络技术日益发展的今天,网络上的安全问题日益严重.当你在公网上使用Linux服务器时,很有可能你的服务器正在遭受ssh暴力破解. 曾经有一次我的同伴将给客户提供监控服务 ...
- sql quer
SELECT (SELECT COUNT (sysid) FROM FwInvConsumable WHERE parentref = g.sysid AND (ns.state = 'Invento ...
- 【git】强制覆盖本地代码
[git]强制覆盖本地代码(与git远程仓库保持一致) 2018年04月27日 23:53:57 不才b_d 阅读数:21145 版权声明:本文为博主不才b_d原创文章,未经允许不得转载. || ...
- 系统安全-Firewall
Netfilter/iptables是与最新的2.6.x版本Linux内核集成的ip信息包过滤系统.如果Linux系统连接到因特网或LAN.服务器或连接LAN和因特网的代理服务器,则该系统有理由在Li ...
- uboot 命令
1.清除前一次的编译结果: make distclean 2.配置makefile:选择开发板 make smdk6410_config 3.编译 make 注意::编译时,打开的文档文件,目录都要 ...
- Struts2 (三) (转载)
前面一直在说Action可以是一个普通的Java类,与Servlet API完全分离,但是为了实现业务逻辑,Action需要使用HttpServletRequest内容.Struts 2设计的精巧之处 ...
- 目标检测之hough forest---霍夫森林(Hough Forest)目标检测算法
Hough Forest目标检测一种比较时兴的目标检测算法,Juergen Gall在2009的CVPR上提出. Hough Forest听上去像hough变换+Random Forest的结合体, ...
- spring applicationContext.xml详解及模板
applicationContext.xml 文件 1.<context:component-scan base-package="com.eduoinfo.finances.ba ...