OJ-1042 筛法求素数
来源:互联网 发布:163邮箱的smtp端口 编辑:程序博客网 时间:2024/06/11 17:45
Description
用筛法求之N内的素数。
Input
N
Output
0~N的素数
#include <stdio.h>#include <stdlib.h>#include <math.h>int is_prime(int);void filter(int *,int,int);int main(){ int n,*p,i; scanf("%d",&n); p=(int*)malloc(sizeof(int)*(n+1)); for(i=1; i<=n; ++i) p[i]=i; for(i=2; i<=n; ++i) { if(p[i]==0) continue; if(is_prime(i))//判断是否是素数 filter(p,i,n);//筛选 } i=2; for(i=2; i<=n; ++i) { if(p[i]!=0)//输出所有不是0的数组元素 printf("%d\n",p[i]); } return 0;}int is_prime(int n){ int i,flag=1; for(i=2; i<=sqrt(n); ++i) { if(n%i==0)//不是素数 { flag=0; break; } } return flag;}void filter(int *p,int m,int n){ int i; for(i=m*2; i<=n; i+=m)//将数组中素数的整数倍置为0 p[i]=0;}
0 0
- OJ 1042: 筛法求素数
- OJ-1042 筛法求素数
- 南阳oj~~素数
- 华为oj素数伴侣
- OJ.189.素数判定
- 山科大 oj 筛选素数
- oj 对称三位数素数
- FAFU OJ 素数之和
- 素数距离OJ
- 素数----南阳OJ
- FAFU OJ 素数环
- OJ 1468 求素数(素数筛)
- 九度OJ 1163:素数 (素数)
- dut OJ 1277 素数测试
- 天勤OJ 题目1135: 素数
- 九度OJ 1163 素数
- hdu-oj 1431 素数回文
- hdu-oj 1431 素数回文
- 如何实现分布式登录
- Android 权限use-permision
- ORACLE毫秒与日期的相互转换
- 从X86架构来源开始:谈CPU
- Linux安装JDK
- OJ-1042 筛法求素数
- JVM性能优化
- 卖票小系统(关于线程同步的问题)
- 数组第k大的元素的位置
- 2.7.2
- 提升你的Java应用性能:改善数据处理
- POJ 1009 Edge Detection 已被翻译
- linux中如何部署tomcat应用
- 二维数组中取某一相同字段的值进行拼接字符串用于in查询