描述
回文质数
【问题描述】
因为151即是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。
写一个程序来找出大过a的最小的回文质数。
【输入格式】
第 1 行: 一个整数 a .(a<100000)
【输出格式】
输出一个回文质数。
【输入样例】
10301
【输出样例】
10501
输入格式
一个整数 a .(a<100000)
输出格式
输出一个回文质数。
样例输入
10301
样例输出
10501
时间限制
各个测试点1s
代码如下:
#include <stdio.h>
#include <math.h>
bool isSnum(int n)
{
int i = 2;
for (; i < sqrt(n)+ 1; i++)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
void main()
{
int n;
scanf("%d",&n);
int m = n;
while (true)
{
m++;
int temp = m;
int y = 0;
while (temp > 0) {
y = y * 10 + temp % 10;
temp = temp / 10;
}
if (y != m)
continue;
if (isSnum(m))
{
printf("%d", m);
break;
}
}
}