Description
所谓回文素数是指对一个素数 n ,从左到右读和从右到左读都是相同的,这样的数就称为回文素数,例如 11,101,313 等。
请编写一个程序,计算并输出 n 以内的所有回文素数,并统计这些回文素数的个数。先输入一个取值在[100,1000]范围内的任意整数 n ,如果超过这个范围或者出现非法字符,则重新输入。然后输出n以内的所有回文素数,以及这些回文素数的个数。
Input
输入一个整数 n,n在区间[100,1000]内。
Output
输出 n 以内所有的回文素数,并输出其个数 count。
11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929
count=16
HINT
相关知识
-
素数:素数也称质数,指大于1的自然数,除了1和它本身,没有其他因数。判断一个数是否为素数,可以使用判断能否被2到该数的平方根范围内的数整除来确定。
-
回文数:回文数是指正序和倒序都相同的数字。例如,121和12321都是回文数。
-
分离数字:将一个多位数的各个位数分离出来,可以使用除法和取余运算。
-
数字翻转:将一个多位数的各个位数从右向左组合成一个新的数,可以使用乘法和加法运算。
#include<stdio.h>
#include<math.h>
int IsPrime(int x);
int PalindromicPrime(int n);
int main(void)
{
//=======begin=======
//========end========
}
//函数功能:判断x是否是素数,若函数返回0,则表示不是素数,若返回1,则代表是素数
int IsPrime(int x)
{
//=======begin=======
//========end========
}
//函数功能:计算并输出不超过n(100<=n<=1000)的回文素数,并返回回文素数的个数
int PalindromicPrime(int n)
{
//=======begin=======
//========end========
}