)
1.【题目描述】
【题目描述】
找出正整数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
2.【代码】
#include <bits/stdc++.h>
using namespace std;
int fun(int n)
{
if(n==1)
return 0;
for(int i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}
int fun1(int n)
{
int sum=0;
while(n!=0)
{
sum=sum*10+n%10;
n=n/10;
}
return sum;
}
int main()
{
int n,m,sum=0;
cin>>n>>m;
int d=1;
for(int i=n;i<=m;i++)
if(fun(i)&&fun(fun1(i)))
{
if(d==1)
{
cout<<i;
d++;
continue;
}
else
{
cout<<","<<i;
}
}
if(d==1)
{
cout<<"No";
}
return 0;
}
仅供参考!