主题:ACM通不过急啊
#include<stdio.h>
#include<math.h>
int panduan(int n) //判断素数
{
int i;
for(i=2;i*i<=n;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int m,last,next,n;
scanf("%d",&n);
getchar();
while(n--)
{
scanf(" %d",&m);
if(m==1) printf("2 1\n");
if(m==2) printf("3 1\n"); //考虑1,2两个数左边没有素数
if(m>2)
{
last=m-1;
next=m+1;
while(!panduan(last))
{
last--;
}
while(!panduan(next))
{
next++;
}
if(m-last<=next-m)
{
printf("%d %d\n",last,m-last);
}
if(m-last>next-m)
{
printf("%d %d\n",next,next-m);
}
}
}
return 0;
}
#include<math.h>
int panduan(int n) //判断素数
{
int i;
for(i=2;i*i<=n;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int m,last,next,n;
scanf("%d",&n);
getchar();
while(n--)
{
scanf(" %d",&m);
if(m==1) printf("2 1\n");
if(m==2) printf("3 1\n"); //考虑1,2两个数左边没有素数
if(m>2)
{
last=m-1;
next=m+1;
while(!panduan(last))
{
last--;
}
while(!panduan(next))
{
next++;
}
if(m-last<=next-m)
{
printf("%d %d\n",last,m-last);
}
if(m-last>next-m)
{
printf("%d %d\n",next,next-m);
}
}
}
return 0;
}