求出范围内所有素数
2013-10-17 21:47
106 查看
Description
给出整数a,b,求出区间[a,b]内的所有素数。Input
有多组测试数据。输入的第一行是整数T(0<T<=1000),表示测试数据的组数。每一组测试数据只有一行,分别为整数a和b,两数之间有一个空格。该行没有其它多余的符号。0<a<b<2^16。Output
对应每组输入,输出一行[a,b]区间内所有的素数,每个数后应有一个空格,如果[a,b]区间内没有素数,则该行为空行。该行不能有其它多余的符号。Sample Input
21 100
50 100
Sample Output
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 9753 59 61 67 71 73 79 83 89 97
Hint
可以考虑筛法求素数。解答:
#include <stdio.h> int i,j,t,k; int a[65535]={0}; int b[1001],c[1001]; int main() { scanf("%d",&t); for (i=0;i<t;i++) scanf("%d %d",&b[i],&c[i]); for (k=0;k<t;k++) { if (b[k]==1) b[k]=2; for(i=b[k]; i<=c[k]; i++) //因为0 1不是素数,所以跳过 { a[i]=1; } for(i=b[k]; i<=c[k]; i++) { if(a[i]==1) { printf("%d ", i); for(j=b[k]; j<=c[k]; j+=i) { if(j%i==0) a[j]=0; } } } printf("\n"); } return 0; }
相关文章推荐
- 快速求1000,000范围内的所有素数,复杂度为O(n)
- python编程找出对应范围内的所有素数(质数)
- 建立一个类PrimeNUM,求指定数据范围内的所有素数(质数)。具体要求如下:
- 4.C/C++练习7---求某个范围内的所有素数
- 算法15:打印中两个整数范围内的所有素数,例如:(12, 15) ->13
- 求指定范围内的所有素数
- 素数筛选法输出指定范围内的所有素数
- 快速输出指定范围所有素数
- 4.求某个范围内的所有素数
- 烟大OJ.求某个范围内的所有素数
- 求出1~N范围中所有的素数
- C/C++练习7---求某个范围内的所有素数
- 求N范围内的所有素数
- C/C++练习7---求某个范围内的所有素数
- 求某个范围内的所有素数
- 求某个正整数范围内的所有素数
- C/C++练习7---求某个范围内的所有素数
- 山东理工大学ACM平台题答案关于C语言 1137 C/C++经典程序训练7---求某个范围内的所有素数
- C++程序设计实践指导1.8求指定范围内的所有素数改写要求实现
- Problem D: C/C++经典程序训练7---求某个范围内的所有素数