1013. 数素数 (20)

来源:互联网 发布:知柏地黄丸 性早熟 编辑:程序博客网 时间:2024/06/06 17:43

令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。

输入格式:

输入在一行中给出M和N,其间以空格分隔。

输出格式:

输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。

输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 89

97 101 103

声明:其中一个测试点运行超时,19分,不是满分

#include<string>#include<iostream>#include<algorithm>#include<math.h>using namespace std;bool gc(int a){for (int i = 2; i < a ; i++){if (a%i == 0){return false;//余数等于0,说明不是素数}}return true;}int main(){int flag=0, m, n,ge=1,num=3,count=0;cin >> m >> n;if (m == 1){printf("2");//ge++;flag = 1;//分别第一个和剩下的9个count++;//用来累计个数,每10个换行输出}while(ge < n)//当第ge个素数在范围内,循环继续{if (gc(num))//判断如果是素数,不是素数的处理情况{ge++;//那么该素数让ge++if (ge >= m)//当第ge个素数在范围内,进行判断输出{if (flag == 1){printf(" %d", num);count++;}if (flag == 0){printf("%d",num);flag=1;count++;}}}else{num++;continue;}if (count == 10){printf("\n");flag = 0;count = 0;}num++;}return 0;}

原创粉丝点击