#include<stdio.h>
#include<math.h>
int judge(int n);
int main()
{
int p,q;
scanf("%d %d",&p,&q);
int i;
int k=0;
int flag;
int outputctrl=0; //控制输出10个换行
for(i=1;;i++){
flag=judge(i);
if(flag==1){
k++;
if(k<p){
continue;
}else if(k>=p&&k<=q){
outputctrl++;
printf("%d",i);
if(outputctrl%10==0){
printf("\n");
}else{
if(k!=q){
printf(" "); //保证最后一个字符不是空格
}
}
}else{
break;
}
}
}
return 0;
}
int judge(int n) //return 0 -> not prime number return 1 -> prime number
{
int i;
int flag=1;
if(n==1){
flag=0;
}else if(n==2){
flag=1;
}else{
for(i=2;i<=pow(n,0.5);i++){
if(n%i==0){
flag=0;
}
}
}
return flag;
}
要优化下算法,4节点运行超时
PAT (Basic Level) Practise (中文) 1013. 数素数 (20)
最新推荐文章于 2018-03-12 22:05:52 发布