/*
cj10.c 求不超过1000的回文素数。
*/
#include<stdio.h>
#include<math.h>
void prime_number(int n) //判断整数n是否为素数
{
int i,m,t,s=1; //s是一个标志,s=1表示是素数,s=0表示不是素数
m=sqrt(n);
for(i=2;i<=m;i++)
{
t=n%i;
if(t==0)
s=0;
}
if(s==1) //如果s=1,n就是素数
printf("%6.1d",n);;
}
void huiwen(int n)
{
int j,k,a;
k=n;
a=0;
while(k!=0) //把整数n反向表示成a,即如果n=321,反向后a=123
{
j=k%10;
k=k/10;
a=a*10+j;
}
if(a==n) //如果a=n,那么n就是回文数,然后再调用素数判断函数判断n是否为素数
prime_number(n);
}
void main()
{
int i;
printf("1000以内的回文素数有:\n");
for(i=1;i<=1000;i++)
huiwen(i);
}
求1000以内的回文素数
最新推荐文章于 2022-11-29 16:40:05 发布