Ограничение ресурса Ограничение
памяти: 256,0 МБ Ограничение времени C/C++: 1,0 с Ограничение времени Java: 3,0 с Ограничение времени Python: 5,0 с
Число Если число, прочитанное слева направо и справа налево, абсолютно одинаково, оно называется так Число является палиндромом, например, 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<<" ";
}
}
}