您的位置:首页 > 其它

PAT (Basic Level) Practise (中文) 1013. 数素数 (20)

2017-08-20 22:43 337 查看
#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节点运行超时
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: