1411:区间内的真素数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 7020 通过数: 2825
【题目描述】
找出正整数M和N之间(N不小于M)的所有真素数。
真素数的定义:如果一个正整数P为素数,且其反序也为素数,那么P就为真素数。
例如,11,13均为真素数,因为11的反序还是为11,13的反序为31也为素数。
【输入】
输入两个数M和N,空格间隔,1≤M≤N≤100000。
【输出】
按从小到大输出M和N之间(包括M和N)的真素数,逗号间隔。如果之间没有真素数,则输出No。
【输入样例】
10 35
【输出样例】
11,13,17,31
【代码】
#include<iostream>
#include<cmath>
using namespace std;
bool judge(int x);
int inverted(int n);
int a[100000];
int main()
{
int m,n;
int i;
int k=0;
bool flag=false;
cin>>m>>n;
for(i=m; i<=n; i++) //从m枚举到n
if( judge(i) && judge(inverted(i)) )//分别判断i以及i变换后是否是素数
{
k++;
a[k]=i;
flag=true;
}