标签:std size src nbsp 图片 csharp alt scanf style
问题:
求m~n(m≥10,n≤10000)之间的回文素数,所谓回文素数,即这个数既是回文又是素数。程序首先要判断某个数是否是回文,再判断是否是素数。如果是回文素数,则保存于数组中,并按6位域宽输出,每行输出5个。
输入:
m n
输出:
m~n之间的回文素数,每个数占6位,每行限输出5个。
例如:

代码:
#include <stdio.h>
#include <math.h>
void main()
{
int m,n,i,j,k,sum;
int a[1000],t=1;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
int s1=1,s2=1;
sum=0;j=i;
while(j>0)//判断回文
{
sum=sum*10+j%10;
j=j/10;
}
if(sum==i)
{
s1=0;
}
for(k=2;k<=sqrt(i);k++)//判断素数
{
if(i%k==0)
s2=0;
}
if(s1==0 && s2==1)
{
a[t++]=i;
}
}
for(i=1;i<t;i++)
{
if(i%5!=0)
printf("%6d",a[i]);
else
printf("%6d\n",a[i]);
}
}
标签:std size src nbsp 图片 csharp alt scanf style
原文地址:https://www.cnblogs.com/Zhuohome/p/12844994.html