#include<stdio.h>
int isPrim(int num)
{
int i;
for(i=2;i<=num/2+1;i++)
{
if(num%i==0)
{
return 0;
}
}
return 1;
}
int isHuiwen(int n)
{
//5--500
int a[3];
int i = 0;
while(n)
{
a[i++] = n%10;
n = n/10;
}
if(i==1) return 1;
else if(i==2&&a[0]==a[1]) return 1;
else if(i==3&&a[0]==a[2]) return 1;
return 0;
}
int main()
{
int count =0;
int i;
for(i=5;i<=500;i++)
{
if(isPrim(i)&&isHuiwen(i))
{
printf("%-5d",i);
count++;
if(count%5==0)
{
printf("\n");
}
}
}
}
上面是我的代码
但我不得不承认下面这位老兄的代码也不错的
#include<stdio.h>
#include<string.h>
int main(){
int i,j,k,l;
char a[5],cc;
char b[5];
for(i=1;i<=500;i++)
{
for(j=2;j<i;j++)
{
if((i % j) == 0)
break;
}
if(j==i)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
sprintf(a,"%d",i) ;
l=strlen(a);
for(k=0;k<l/2;k++)
{
cc=a[k];
b[k]=a[l-k-1];
b[l-k-1]=cc;
}
if(l%2==1)
{
b[l/2]=a[l/2];
}
if(strcmp(a,b)==0)
{
printf("素数str same:%s\n",a);
}
}
}
return 0;
}
他使用了很多高级函数streln sprintf memset strcmp 这位老兄真的是见多识广