/*
*Copyright (c) 2014, 烟台大学计算机学院
*All rights reserved.
*文件名称:week11-project6-4-3.cpp
*作者:高赞
*完成日期:2014年 11 月 7 日
*版本号:v1.0
*
*问题描述:输出1000以内的所有回文素数
*/
#include <iostream>
#include <iomanip>
using namespace std;
bool isPrimer(int);
bool isPalindrome(int);
int main()
{
int m=0;
cout << "1000以内所有回文素数:" << endl;
cout.flags(ios::left); //设置左对齐
for (int n=1; n<=1000; ++n)
{
if (isPalindrome(n) && isPrimer(n))
{
cout << setw(5) << n; //设置输出宽度为5
++m;
if (m%10==0)
cout << endl;
}
}
return 0;
}
bool isPalindrome(int x)
{
bool huiwen;
int X=x,y,z=0;
while (x>0)
{
y=x%10;
z=z*10+y;
x=x/10;
}
if (X==z)
huiwen=true;
else huiwen=false;
return(huiwen);
}
bool isPrimer(int n)
{
bool su=true;
if (n==1)
su=false;
for (int m=2; m<n; ++m)
{
if (n%m==0)
{
su=false;
break;
}
}
return(su);
}
运算结果: