高级光能
3108 回文数和素数
经验值:800 时间限制:1000毫秒
合肥市第34届信息学竞赛
不许抄袭,一旦发现,直接清空经验!
题目描述 Description
卡卡西和小朋友们 把购买的图书文具一起邮寄给了山区贫困孩子,他们做了一件极其有意义的事情,心里乐开了花;哼着歌儿他 们做起了数字游戏,他们发现有些自然数例如131、1221等具有左右对称的特点,这样的数字被称为回文数;还有一些数如13、17等只能被1和其自身整除,这样的数被称为素数,作为编程爱好者,卡卡西想写出一个程序,迅速求出两个数m和n之间既是回文数又是素数的数字的个数。
输入描述 Input Description
输入数 据只有一行包含用空格分隔的两个正整m和 n。
输出描述 Output Description
输出一个整数, m和 n之间(包含 m和 n)既是回文数又是素数的数字的个数。
样例输入 Sample Input
100 200
样例输出 Sample Output
5
数据范围及提示 Data Size & Hint
100≤m≤n≤100000
#include <bits/stdc++.h>
using namespace std;
int isPrime(int x)
{
int flag=1;
int k=(int)(sqrt(double(x+1)));
for(int i=2;i<=k;i++)
{
if(x%i==0)
{
flag=0;
break;
}
}
if(flag)
return 1;
return 0;
}
int isHuiwen(int x)
{
int c,t=0;
c=x;
while(c)
{
t*=10;
t+=c%10;
c/=10;
}
if(t==x)
return 1;
return 0;
}
int main()
{
int a,b;
int cnt=0;
while(cin>>a>>b && a!=0 && b>a &&b!=0)
{
for(a=a;a<=b;a++)
{
if(isHuiwen(a)&&isPrime(a))
{
cnt++;
}
}
}
cout<<cnt;
return 0;
}
为啥90分啊!!!救救孩子吧