效率较低,莫笑····可以先排除一些(如两位只有11,四位无有等)效率会高点
#include<stdio.h> 
#include<math.h>
int prime(int a)
{
    int i;
    if(a==1)
    return 0;
    for(i=2;i<=sqrt(a);i++)
    if(a%i==0) break;
    if(i>sqrt(a))
    return 1;
    return 0;
}
int huiwen(int n) 
{ 
    int i,j,y=0,f=1; 
    int a[10];
    while(n!=0) 
    { 
        a[y]=n%10; n=n/10; y++; 
    } 
    for(i=0,j=y-1; i<=j; i++,j--) 
    { 
       if(a[i]!=a[j])
       {f=0; break;} 
    }
    return f;
}
 
int main() 
{
  int x;
  printf("请输入一个正整数:"); 
  scanf("%d",&x);
  for(int i=1;i<=x;i+=2)
  if(huiwen(i)==1&&prime(i)==1)
  printf("%d\t",i);
  return 0; 
}