当前位置: 首页 > wzjs >正文

semir是什么牌子免费外链网站seo发布

semir是什么牌子,免费外链网站seo发布,保定网站建设价格,怎么做自己的优惠淘网站求n以内的素数,可以用试除法或者埃拉托斯特尼筛法(埃氏筛法) 文章目录 试除法埃拉托斯特尼筛法(埃氏筛法)两种方法测试运行效率 输入:数字n 输出:n以内所有的素数 不管是哪个方法,都…

求n以内的素数,可以用试除法或者埃拉托斯特尼筛法(埃氏筛法)

文章目录

  • 试除法
  • 埃拉托斯特尼筛法(埃氏筛法)
  • 两种方法测试
    • 运行效率

输入:数字n
输出:n以内所有的素数

不管是哪个方法,都有一个数学结论可以减少循环次数:

如果有一个数不是质数,那么它至少有一个因子小于等于他的平方根。所以说n有因数的话,一定有一个小于根号n,因此只需要看遍历到根号n即可。
反过来说,如果根号n内没有某个数的因数,那么整个2,n-1都没有这个数的因数。

试除法

使用i*i而不是sqrt(n)是为了避免对浮点数进行处理。

/**
*  试除法
*  0、1 都不是质数
*  如果有一个数不是质数,那么它至少有一个因子小于等于他的平方根
*  算法效率从n变为根号n
*/
int isPrime(int n){if(n<2) {return 0;}for(int i=2;i*i<=n;i++){if(n%i==0){return 0;}}return 1;
}
void findPrimesByTrialDivision(int n){for (int i = 2; i <= n; i++) {if (isPrime(i)) {printf("%d\t", i);}}printf("\n");
}

埃拉托斯特尼筛法(埃氏筛法)

质数的倍数一定是非质数。从而逐步将非质数排除。
由于:如果有一个数不是质数,那么它至少有一个因子小于等于他的平方根。
所以:外层循环从2-根号n,内层循环从i*i开始。

void Eratosthenes(int n){int *isPrime = calloc(n+1,sizeof(int));for(int i=2;i<=n;i++){// 初始化所有数都是质数isPrime[i] = 1;}for(int i=2; i*i<=n;i++){if(isPrime[i]){for(int j=i*i;j<=n;j+=i){isPrime[j] = 0;}}}for (int i = 2; i <= n; i++) {if (isPrime[i]==1) {printf("%d\t", i);}}printf("\n");
}

两种方法测试

int main(){int n=20;Eratosthenes(n);findPrimesByTrialDivision(n);return 0;
}

在这里插入图片描述

运行效率

我们把打印质数的代码删掉,打印下运行时间

int main() {int n = 6000000;start = clock();Eratosthenes(n);finish = clock();time1 = (double) (finish - start) / CLOCKS_PER_SEC;printf("埃氏筛法所用时间: %f\n", time1);start = clock();findPrimesByTrialDivision(n);finish = clock();time2= (double) (finish - start) / CLOCKS_PER_SEC;printf("试除法所用时间: %f\n", time2);return 0;
}

可以看到埃氏筛法确实在数据量大的的时候效率更高。
在这里插入图片描述

http://www.dtcms.com/wzjs/334628.html

相关文章:

  • 网站建设上机测试题百度极速版
  • 页面设计工资有多少天津搜索引擎优化
  • 服装花型图案设计网站做电商必备的几个软件
  • 三亚湾网站优化排名方法
  • 快捷做网站亿速云
  • 职友集 一家做公司点评的网站百度一下你就知道官网新闻
  • server2008 做网站微信营销
  • 免费网站源码网页模板代码
  • 自学摄影教程的网站有哪些seo课程培训课程
  • 网站策划需要什么搭建网站的步骤和顺序
  • wordpress 建站视频如何优化培训方式
  • 怎么做网站文件网站模板之家官网
  • 临朐网站建设价格百度学术论文官网入口
  • 摄影网站建设的意义网络营销和推广的方法
  • wordpress怎么改标题青岛seo网站排名优化
  • 做面料那几个网站种子库
  • 威海做网站www.whbjg江阴企业网站制作
  • Ui互联网门户网站建设简述seo
  • 网站建设 app开发 小程序怎么给网站做优化
  • 规模以上工业企业的标准昆明网络推广优化
  • 学校网站建设是什么意思百度推广助手下载
  • 公司官方网站制作哈尔滨优化网站公司
  • 做设计那个素材网站最好头条今日头条新闻头条
  • 浙江中联建设集团网站想在百度做推广怎么做
  • 松原手机网站开发公司seo优化方案案例
  • seo在线教学seo标题优化导师咨询
  • 源码建站之网站建设手机软文广告300字
  • 河南it渠道网重庆seo是什么
  • 网站备案信息百度搜索推广产品
  • 怎么自己做网站免费的安卓嗅探app视频真实地址