C语言之基本算法21—可逆素数
/*
==================================================================
题目:可逆素数是指一个数是素数,逆序后还是素数,如ABC是素数,CBA也是素数。
*/
==================================================================
题目:可逆素数是指一个数是素数,逆序后还是素数,如ABC是素数,CBA也是素数。
==================================================================
*/
#include<stdio.h>
int sushu(int n)
{
int i,k;
if(n%2==0)
return 0;
else
{
k=int(n/2);
for(i=3;i<=k;i++)
{
if(n%i==0)return 0;
else return 1;
}
}
}
main()
{
int m,n,k=0;
int ge,shi,bai,qian;
for(m=1000;m<10000;m++)
if(sushu(m))
{
ge=m%10;
shi=m/10%10;
bai=m/100%10;
qian=m/1000;
n=ge*1000+shi*100+bai*10+qian;
if(sushu(n))
{
printf("%5d ",m);
k++;
if(k%10==0)
printf("\n");
}
}
}
/*
==================================================================
评:本题由于范围比較小(1000-10000),所以用最直接的方法(直观易懂)来求。当数字
比較大时应当用两个函数:1是推断素数函数,2是求逆序函数,读者能够自己试着完毕。
==================================================================*/