C++判断对称三位数素数

题目内容:判断一个数是否为对称三位数素数。所谓“对称”是指一个数,倒过来还是该数。例如,375不是对称数,因为倒过来变成了573

输入描述:输入数据含有不多于50个的正整数(0<n<232)

输出描述:对于每个n,如果该数是对称三位数素数,则输出“Yes”,否则输出“No”。每个判断结果单独列一行。

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

参考代码:

#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
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
":"No
");
    }
    system("pause");
    return 0;
}
bool isPrime(int n)
{
     int sqr=sqrt(n*1.0);
     for(int i=2;i<=sqr;i++)
     {
         if(n%i==0) return false;
     }
     return true;
}

效果如图:

原文地址:https://www.cnblogs.com/cysolo/p/3380874.html