<编程>比较两种素数表生成算法+计算程序运行时间+通过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,两种以同步的形式写异步处理逻辑的解决方案的优缺点.之后生出疑问 ...
随机推荐
- 【转载】React入门实例教程-读书笔记
参考了这篇文章: http://www.ruanyifeng.com/blog/2015/03/react.html 其中github 安装配置见上一篇文章(link) 一.HTML 模板 使用 Re ...
- python 常见细节知识点
1. a[::-1]翻转 设有一个元组或者列表 a = (1,2,3,4) b = [1,2,3,4] 则a[::-1]和b[::-1]的含义是将元组或列表的内容翻转 a[::-1] # 结果为(4, ...
- 网页Tab控件
网页Tab控件 找到:http://www.open-open.com/ajax/2_Tabs.htm 页面,查看了若干Tab控件, 找到了:http://www.open-open.com/ajax ...
- 最新ssh2构架
构架要求: 1.最新ssh2jar包. 2.使用全注解. 3.给锁机制 4.缓存. 5.使用权限构架. 6. 前台构架用bootstraps. 今天任务: 搭建php环境.看代码.整理ssh2架构. ...
- weblogic的几点配置
2.在tomcat下写过滤器以后还有的地方需要手工转码<-->weglobic下也不用 eg:SubjectAction.java3.weblogic下anltr.jar有冲突,需要从外界 ...
- HRBUST2030(dfs)
成语接龙 Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %lld , %llu Java class nam ...
- Solaris 目录与文件管理
熟悉系统目录结构 掌握27个常用命令 掌握针对目录.文件的操作 掌握查找与文件内容的操作 一.命令 命令:内部命令(不依赖其他文件,可以直接执行)与外部命令 .他是用于实现某一类功能的指令或程序,其执 ...
- Unity3D游戏开发之简单的碰撞检測
在"Project"面板中单击"Create"旁边的小三角,选择"javascript"创建一个名为"collision" ...
- bash的几个特殊参数和位置参量
http://blog.csdn.net/jiankun_wang/article/details/4336285 一.$*和$@ 首先介绍两个极其相似.很难区分的特殊参数$*和$@,先看如下输出: ...
- 内核顶层Makefile相关4
http://www.groad.net/bbs/simple/?f104.html make 的递归执行与 MAKEFLAGS 变量 make 的递归调用是指:在 Makefile 中使用 make ...