/*上菜了,上菜了,小哥哥,小姐姐点个赞赞捏~( ̄▽ ̄)~**/
代码内容:
/*一个数如果从左到右和从右到左读,
数字是相同的,则称这个数字为回文数,
比如898、1221、15651都是回文数。
求:既是回文数又是质数的5位十进制数有多少个?
要求:10000<x<99999
回文判断和质数判断都需要通过子函数实现,
输出的时候要求5个数字一行。*/
#include<stdio.h>
#include<windows.h>
int isprime(int n)
{
int n_01=n;
int i=0,a=0;
while(n_01>0)
{
n_01=n_01/10;
i++;
}
for(i=2;i<=n/2;i++)
{
if(n%i==0)
{
a++;
}
}
if(a==0)
{
return 1;
}
else
{
return 0;
}
}
int level(int num)
{
int num_01=num;
int temp=0;
while(num_01>0)
{
temp=temp*10+num_01%10;
num_01=num_01/10;
}
if(num==temp)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int i=0;
int n=10000;
while(n<99999)
{
if(isprime(n))
{
if(level(n))
{
i++;
printf("%d ",n);
if(i%5==0)
{
printf("\n");
}
}
}
n++;
}
printf("%d",i);
return 0;
}
运行结果截图: