回文质数

来源:互联网 发布:apache本地服务器搭建 编辑:程序博客网 时间:2024/06/08 15:41

描述
因为151既是一个质数又是一个回文数(从左到右和从右到左看是一样的),所以151是回文质数.
写一个程序来找出范围[a,b](5<=a<b<=100,000,000)间的所有回文质数.
 
输入
第一行 两个整数:a和b.
 
输出
输出一个回文质数的列表,一行一个.
 
输入样例
5 500
 
输出样例
5
7
11
101
131
151
181
191
313
353
373
383

#include<iostream>

#include<cmath>
using namespace std;
int prime(int m)
{
int i;
if(m==1)
{
return 0;
}
for(i=2;i<=sqrt(m);i++)
{
if(m%i==0)
{
return 0;
}
}
return 1;

int hws(int a)
{
int sum,a1;
a1=a;
sum=0;
while(a!=0)
{
sum=10*sum+a%10;
a=a/10;
}
if(sum==a1)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int a,b,i;
cin>>a>>b;
if(b>10000000)
{
b=9989899;
}
else
{
b=b;
}
for(i=a;i<=b;i++)
{
if(hws(i)==1)
{
if(prime(i)==1)
{
cout<<i<<endl;
}
}
}
return 0;
}
原创粉丝点击