求1-1000以内的回文素数。回文素数指的是这个数既是回文数又是素数。
题目:求1-1000以内的回文素数。回文素数指的是这个数既是回文数又是素数。
程序分析:回文数就是将一个数从左向右读是一样的。定义一个函数用于判断是否是素数。对1到1000之间的数进行穷举,找出符合条件的数并输出。
#include<stdio.h>
int main()
{
int a,b,i,j,k;
for(i=1;i<=1000;i++)// 穷举
{
b=0;
if((i%2!=0&&i%3!=0&&i%5!=0&&i%7!=0)||i==2||i==3||i==5||i==7)// 素数条件
{
k=i;
for(j=1;;j++)// 整个循环将i反过来=b
{
a=k%10;
b=10*b+a;
if(k<10)
break;
k=k/10;
}
if(b==i)// 判断正反一致
printf("%d\n",i);
}
}
return 0;
}
浅知拙见,若有纰漏,请指正,感激不尽!