A27735. 回文数和素数 (amount) 卡卡西和小朋友们把购买的图书和文具一起邮寄给了山区的贫困孩子,他们做了一件极其有意义的事情,心理乐开了花;哼着歌儿他们做起了数字游戏,他们发现有些自然数例如 131 、 1221 等具有左右对称的特点,这样的数被称为回文数;还有一些数如13 、 17 等只能被 1 和其自身整除,这样的数被称为素数。作为编程的爱好者,卡卡西想写出一个程序,迅速求出两个数 m 和 n…
填空题
中等
知识点
题目描述
回文数和素数 (amount)
卡卡西和小朋友们把购买的图书和文具一起邮寄给了山区的贫困孩子,他们做了一件极其有意义的事情,心理乐开了花;哼着歌儿他们做起了数字游戏,他们发现有些自然数例如 131 、 1221 等具有左右对称的特点,这样的数被称为回文数;还有一些数如13 、 17 等只能被 1 和其自身整除,这样的数被称为素数。作为编程的爱好者,卡卡西想写出一个程序,迅速求出两个数 m 和 n 之间即是回文数又是素数的个数。
输入
输入数据只有一行包含用空格分隔的两个正整数 m 和 n
输出
一个整数, m 和 n 之间(包含 m 和 n )即是回文数又是素数的个数。
样例 1
输入:100 200
输出:5
数据范围
100 ≤ m ≤ n ≤ 100000
参考答案
#include<bits/stdc++.h>
using namespace std;
bool sushu(int n){
//大于等于2的素数判断
for(int i=2; i*i<=n; i++){
if(n%i==0)
return 0;
}
return 1;
}
bool huiwen(int m){
//回文数判断
int tmp=m, fan=0;
while(m!=0){//生成反转数
fan=fan*10+m%10;
m=m/10;
}
if(fan==tmp)
return 1;
else
return 0;
}
int main(){
int m, n;
int i, ans=0;
cin>>m>>n;
for(i=m; i<=n; i++){
if( huiwen(i) && sushu(i) )
ans++;
}
cout<<ans<<endl;
return 0;
}
上一题
下一题