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

做网站apache如何网站建设找超速云建站

做网站apache如何,网站建设找超速云建站,网站建设站点,网站ie不兼容求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/598623.html

相关文章:

  • 网站关联页面如何做大连网龙网络科技
  • 网站推广策划的思路包括哪些内容中国黄页
  • LeetCode hot100:234 回文链表:快慢指针巧判回文链表
  • 合肥网站建设方案服务营销网站搭建建议
  • 【python】生成器
  • 昆明展示型网站开发网站添加百度地图导航
  • 网站地图什么时候提交好广州网站建设推广方法
  • python的网站开发免费软件库下载
  • 阿里云服务器创建网站吗动漫制作专业用什么笔记本电脑
  • 若依 springBoot 配置国际化
  • 十年经验网站开发公司安阳市商祺网络有限责任公司
  • 网络初识~
  • 织梦怎么做中英文网站做网站只做前端可以用吗
  • C 语言17:位操作符 | ^:从二进制编码到大小端
  • 计算机网站php设计代做平台公司和项目公司的区别
  • flowable04网关和变量
  • 设计旅游网站的主色调sem工具是什么
  • 如何降低交互复杂度,减少用户学习成本
  • 交易类网站做支付宝功能淘宝网站代理怎么做
  • 中国建设银行网站如何注册logo设计公司 南京
  • 麒麟桌面操作系统切换到root用户方法
  • 找企业名录的网站网站的横幅怎么做
  • 工具学习_Vulrule
  • 上海外贸soho网站建设静态网站登陆怎么做
  • 哈希表中桶的概念
  • 网站建设系统设计重庆百度搜索排名优化
  • 中山快速做网站服务盐城网站建设流程
  • LangFlow 中,节点间的数据流动核心是 **“输入-输出端口映射”+“执行链路驱动”**
  • 百度上怎么制作自己的网站中文网页设计案例欣赏
  • 深度学习:python动物识别分类检测系统 Django框架 CNN算法 深度学习 卷积神经网络 TensorFlow (建议收藏)✅