编程求出100到10000之间既是素数又是回文数的所有数~用c语言,急 在线等

2024-11-18 16:41:07
推荐回答(1个)
回答(1):

#include
#include

int p(int x) //x是素数返回1,否则返回0
{
int i;
for(i=2;i<=sqrt(x);i++)
if (x%i==0) return 0;
return 1;
}
int h(int x)//x是回文,返回1,否则返回0
{
int y=x,i=0;
int a,b;
while (y>0) y=y/10,i++; //求x的位数
y=x;
while (y)
{
a=y/pow(10,i-1);
b=y%10;
y=y-a*pow(10,i-1);
y=y/10;
if (a!=b) return 0;
i=i-2;
}
return 1;
}

void main()
{
int i;
for(i=100;i<10000;i++)
if(p(i) && h(i))
printf("%d,",i);
}