资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
一个数如果从左往右读和从右往左读数字是完全相同的,则称这个数为回文数,比如898,1221,15651都是回文数。编写一个程序,输入两个整数min和max,然后对于min~max之间的每一个整数(包括min和max),如果它既是一个回文数又是一个质数,那么就把它打印出来。要求,回文数和质数的判断都必要要用函数的形式来实现。
输入:
5 100
输出:
5 7 11
解答:
#include<iostream>
#include<string.h>
#include<stdlib.h>
using namespace std;
bool ISprime(int n){
int x = n/2;
while(x>1){
if (n % x ==0)
{
return 0;
}
x--;
}
return 1;
}
bool huiwen(int n){
string str = to_string(n);
int length = str.length();
for (int i = 0; i < length; i++)
{
int a= str[i]-'0';
int b= str[length-i-1]-'0';
if( a!=b ){
return 0;
}
}
return 1;
}
int main(){
int min,max;
cin >> min >>max;
for (int i = min;i<=max;i++){
if(ISprime(i) && huiwen(i)){
cout<<i<<" ";
}
}
}