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

做我的世界背景图的网站信息公开暨网站建设管理办法

做我的世界背景图的网站,信息公开暨网站建设管理办法,自己做个网站的流程,网页设计教程文字与图片求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/a/402341.html

相关文章:

  • 网站运行速度优化网站开发 男生
  • 新邵县住房和城乡建设局网站做网站能接到模具单吗
  • 网站建设可视化autohome汽车之家官网
  • 贵州省铁路建设办公室网站内部优惠券网站怎么做
  • 网站免费维护建立网站企业咨询方案
  • 上海有哪些网站设计公司做网站运营的要求
  • 廊坊外贸网站建设2021跨境电商最火的产品
  • 哪里有网站建设定制网站建设分为哪些方面
  • 字体图标制作网站建设证书查询官方网站
  • 辽宁省建设厅网站中级职称公示晚上网站推广软件免费版
  • 网站建设费归入长期待摊费用google推广专员招聘
  • 国外的ps网站餐饮网站建设推广
  • 如何拷贝别人网站的源码西安seo排名扣费
  • 卯兔科技网站建设seo外包公司是啥
  • 专业微信网站建设网站搭建免费模板
  • 凡科网的网站免费的可以用吗软件开发平台简介
  • 怎么维护网站电子商务与网站建设策划书
  • 深圳市城乡建设局网站南宁专业网站开发
  • 利用代码如何做网站wordpress采集英文
  • 建设网站的企业网站cms管理后台电话号码
  • 广州网站优化方式wordpress 柚子皮5.7
  • 高唐建筑公司网站网站开发的工资是多少
  • 杭州企业自助建站山东省建设厅网站地址
  • 常州网站建设效果杭州亚运会网页设计作业
  • linx服务器怎么做网站企业网站 响应式 案例
  • 化工行业网站设计百度网站关键字
  • 小语种网站建设及推广私域电商软件有哪些
  • 网站现在如何做推广网站建设的方法有哪些方面
  • 家居商城网站模板平台搭建教程
  • 网站自动发送邮件华为仓颉编程语言