卡卡西和小朋友们把购买的图书和文具一起邮寄给了山区的贫困孩子,他们做了一件极其有意义的事情,心理乐开了花;哼着歌儿他们做起了数字游戏,他们发现有些自然数例如 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 hw(int x){
int y=0;
for(int i=x;i>0;i=i/10){
y*=10;
y+=i%10;
}
if(x==y) return true;
else return false;
}
bool ss(int x){
if(x<=1) return false;
for(int i=2;i<x;i++) if(x%i==0) return false;
return true;
}
int main(){
int n,m,ans=0;
scanf("%d%d",&n,&m);
for(int i=n;i<=m;i++) if(hw(i)==1&&ss(i)==1) ans++;
printf("%d",ans);
return 0;
}
367

被折叠的 条评论
为什么被折叠?



