您的位置:首页 > 其它

3.13 判读是否是对称素数

2017-03-18 15:35 162 查看
输入:11 101 272

输出:

Yes

Yes

No

#include<fstream>
#include<iostream>
#include<sstream>
#include<string>
#include<cmath>
using namespace std;

bool isPrime(int);
bool isSymmetry(int);

int main(){
ifstream cin("data.txt");
int num;
while(cin >> num){
if(isPrime(num) && isSymmetry(num))
cout << "yes" << endl;
else
cout << "no" << endl;
}
return 0;
}

bool isPrime(int num){
if (num == 1)
return false;//1不是素数
for(int i = 2; i <= sqrt(num*1.0); ++i)
if(num%i == 0)
return false;
return true;
}

bool isSymmetry(int num){
ostringstream oss;
oss << num;
string s = oss.str();
int i = 0;
int j = s.length() - 1;
bool flag = true;
while(i <= j){
if(s[i++] != s[j--]){
flag = false;
break;
}
}
return flag;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: