1.5 对称三位数素数

                                1.5  对称三位数素数

1.5.1 题目内容

 判断一个数是否为对称三位数素数。所谓“对称”是指一个数,倒过来还是该数。例如,375 不是对称数,因为倒过来变成了 573。
输入描述:输入数据含有不多于 50 个的正整数(0<n< 2^{32} )。
输出描述:对于每个 n,如果该数是对称三位数素数,则输出“Yes”,否则输出“No”。每个判断结果单独列一行。
输入样例 
11 101 272 
输出样例 
No 
Yes 
No 

1.5.2 提示

素数是指只能被 1 和本身整除的自然数(1 不是素数),前几位素数是 2,3,5,7,11,13,17,19,23,27,29,31。

#include <iostream>
#include <cmath>
using namespace std;
//isPrime 函数用来判断一个数是否是素数
bool isPrime(int);
int main(int argc, char* argv[])
{
 int n;
 while(cin>>n)
 {
 cout<<(n>100&&n<1000&&n/100==n%10&&isPrime(n)?"Yes\n":"No\n");
 }
 return 0;
}
bool isPrime(int n)
{
 //sqrt 开方,需要#include <cmath>
 int sqr=sqrt(n*1.0);
 for(int i=2;i<=sqr;i++)
 {
 if(n%i==0)return false;
 }
 return true;
}


 

猜你喜欢

转载自blog.csdn.net/qq_41668789/article/details/82119952