/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院
* All rightsreserved.
* 文件名称:1.cpp
* 作 者:李慧慧
* 完成日期:2012年11月22日
* 版 本 号: v1.0
* 输入描述: 无
* 问题描述:略
* 程序输出: 10000以内的回文素数
* 问题分析:略
*/
#include<iostream>
#include<cmath>
using namespace std;
bool isPrimer(int n);
bool isPalindrome(int n);
int main()
{
int m;
cout<<"输出10000以内的所有回文素数!"<<endl;
for(m=2;m<=10000;m++)
{
if(isPrimer(m)&&isPalindrome(m))
cout<<m<<'\t';
}
cout<<endl;
return 0;
}
bool isPrimer(int n)
{
bool Primer=true;
int a=int(sqrt(n));
int i;
for(i=2;i<=a;i++)
{
if(n%i==0)
{
Primer=false;
break;
}
}
return Primer;
}
bool isPalindrome(int n)
{
bool Palindrome=false;
int m,k;
m=n;
k=0;
while(m>0)
{
k=k*10+m%10;
m=m/10;
}
if(k==n)
Palindrome=true;
return Palindrome;
}
运行结果:
把上一周没做的这个补上吧,看着这么多就不愿意做