//P27实验题3 文件名:exp1-3.cpp
#include <stdio.h>
#include <time.h> //clock_t, clock, CLOCKS_PER_SEC
#include <math.h>
//------方法1-----------------------------------------------
bool prime1(long n) //方法1:判断正整数n是否为素数
{
long i;
for (i=2;i<n;i++)
if (n%i==0)
return false; //若n不是素数,则退出并返回false
return true;
}
void PrimeTime1(long n) //采用方法1的耗时统计
{
clock_t t;
long sum=0,i;
t=clock();
for (i=2;i<=n;i++)
if (prime1(i))
sum++;
t=clock()-t;
printf("方法1:\n");
printf(" 结果:2~%d的素数个数:%d\n",n,sum);
printf(" 用时:%lf秒\n" ,((float)t)/CLOCKS_PER_SEC);
}
//------方法2-----------------------------------------------
bool prime2(long n) //方法2:判断正整数n是否为素数
{
long i;
for (i=2;i<=(int)sqrt(n);i++)
if (n%i==0)
return false; //若n不是素数,则退出并返回false
return true;
}
void PrimeTime2(long n) //采用方法2的耗时统计
{
clock_t t;
long sum=0,i;
t=clock();
for (i=2;i<=n;i++)
if (prime2(i))
sum++;
t=clock()-t;
printf("方法2:\n");
printf(" 结果:2~%d的素数个数:%d\n",n,sum);
printf(" 用时:%lf秒\n" ,((float)t)/CLOCKS_PER_SEC);
}
//------------------------------------------------------------
int main()
{
long n;
printf("n(大于100000):");
scanf("%d",&n);
if (n<10000) return 0;
PrimeTime1(n);
PrimeTime2(n);
return 1;
}
霞谷卡卡西
- 粉丝: 0
- 资源: 1
最新资源
- Desktop (2).zip
- 考研冲刺模拟试题50道及解析
- 11月美宝莲专卖店店内海报 店内海报完稿310mmX360mm-op.ai
- Python 中实现十大排序算法
- 基于 Java 实现的24点卡牌游戏课程设计
- 基于ssm台球俱乐部管理系统 框架html + css + jquery + jsp + java + ssm + MySQL 用户类型 管理员 admin 123456 普通用户 002 0
- 纸中世界-跳跃游戏.sb3
- 通过示例在 Python 中解释 SOLID 原则 .zip
- 11月美宝莲专卖店背柜完稿740mmX400mm
- 基于ssm台球俱乐部管理系统 框架html + css + jquery + jsp + java + ssm + MySQL
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0