C语言求素数,以及优化
来源:互联网 发布:泰拉瑞亚数据库 编辑:程序博客网 时间:2024/05/20 01:09
最开始因为计数的k,处理不当,始终得不到想要的数据,后来k的位置处理好了,中间的for循环是这样的
for(j=2;j<=i/2;j++) { if(i%j==0){ k++; break; } }效率不够;
后来在网上找了一下,发现大家都开平方
因为:如果a*b=n的话,那么最大情况就是a=b了,所以要对n开平方
第一种,普通的用开平方来计算
```
#include "stdio.h"#include "math.h"/* 求n以内的素数 */int main(){ int i,j,n,k,p=0; scanf("%d", &n); for (i=2;i<=n;i++){ k=0; for(j=2;j<=sqrt(i);j++) { if(i%j==0){ k++; break; } } if (k==0) { printf("%d,",i); p++; continue; } } printf("\n",p); printf("p=%d\n",p);}
```
第二种方法,排除法,尚未优化
```
#include "stdio.h"#include "math.h"/* 求n以内的素数 */int main(){ printf(" 请输入1--10000的数字:\n"); int n, i, j; int a[10001]; scanf("%d",&n); for (i=0; i<n; i++) { a[i] = 1; } printf(" %d 包含的素数有: ", n); for (i=2; i<=n; i++) { if (a[i]==1) { printf("%d ",i); for (j=2*i; j<=n; j=j+i) a[j] = 0; } } return 0;}
```
第二种方法
阅读全文
2 0
- C语言求素数,以及优化
- 求素数的C语言代码优化
- C语言求素数。
- c语言求素数
- C语言求素数
- C语言:求素数
- 【C语言】求素数
- c语言求素数
- C语言简单求素数
- 快速求素数 C语言
- C语言求回文素数
- C语言求素数的不同解法
- ②C语言,函数调用求素数
- 求素数算法(C语言)
- c语言--求100-200的素数
- c语言筛选法求素数
- C语言 求素数、排序算法
- C语言——求素数和
- 关于战狼2
- 嵌入式学习笔记
- Android Activity中的 DecorView
- 浅谈Web自适应
- 关于c++内存分配,释放及泄露问题
- C语言求素数,以及优化
- linux学习之旅(十六)&& FTP/Vsftpd
- HDU 6071 Lazy Running 同余 + 最短路
- jQuery Mobile 所有class选项,开发全解+完美注释
- 1426_找零钱的程序
- USB mass storage协议
- 度度熊与邪恶大魔王 百度之星
- D.3被3或者5整除的数
- 对10个整数按由大到小排序