素数 题目169
#include<stdio.h>
#include<math.h>
int main(){
int prime(int a);
int i,j,n,rd,ld,p;
scanf("%d",&n);
while(n--){
int num,lnum,rnum;
scanf("%d",&num);
if(num==1){
printf("2\n");
continue;
}
p=prime(num);
if(p==1)
printf("%d %d\n",num,0);
else
{for(i=num;!prime(i);i--);
for(j=num;!prime(j);j++);
//记录 左右素数
lnum=i; ld=num-lnum;
rnum=j; rd=rnum-num;
if(ld<rd) printf("%d\n",lnum);
if(ld>=rd) printf("%d\n",rnum);
}
}
return 0;
}
int prime(int a){
int i;
if(a==1) return 0;
for(int i=2;i<=sqrt(a);i++){
if(a%i==0) return 0;
}
return 1;
}
素数距离 题目24
#include<stdio.h>
#include<math.h>
int main(){
int prime(int a);
int i,j,n,rd,ld,p;
scanf("%d",&n);
while(n--){
int num,lnum,rnum;
scanf("%d",&num);
if(num==1){
printf("2 1\n");
continue;
}
p=prime(num);
if(p==1)
printf("%d %d\n",num,0);
else
{for(i=num;!prime(i);i--);
for(j=num;!prime(j);j++);
//记录 左右素数
lnum=i; ld=num-lnum;
rnum=j; rd=rnum-num;
if(ld<=rd) printf("%d %d\n",lnum,ld);
if(ld>rd) printf("%d %d\n",rnum,rd);
}
}
return 0;
}
int prime(int a){
int i;
if(a==1) return 0;
for(int i=2;i<=sqrt(a);i++){
if(a%i==0) return 0;
}
return 1;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。