/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者:耿娜
* 完成日期:2012 年 11 月 22日
* 版 本 号:v1.0
* 输入描述:无
* 问题描述: 无
* 程序输出:输出一万以内的所有所有素数
* 问题分析: 无
#include <iostream>
using namespace std;
int main()
{
bool isPalindrome(int);//声明判断回文数函数
bool isPrime(int);//声明判断素数函数
for(int i=1;i<10000;i++)
{
if(isPalindrome(i)&&isPrime(i))
{
cout<<i<<"即使素数又是回文数。"<<endl;
}
}
return 0;
}
bool isPalindrome(int i)
{
bool b = false;
if(i<10)
{
// cout<<i<<"是回文数。"<<endl;
b = true;
}
else if(i<100)
{
int a[2];
a[0] = i/10;
a[1] = i%10;
if(a[0] == a[1])
{
b = true;
//cout<<i<<"是回文数。"<<endl;
}
}
else if(i<1000)
{
int a[3];
a[0] = i/100;
a[1] = i/10 -a[0]*10;
a[2] = i-a[0] *100-a[1]*10;
if(a[0]==a[2])
{
b = true;
//cout<<i<<"是回文数。"<<endl;
}
}else if(i<10000)
{
int a[4];
a[0] = i/1000;
a[1] = i/100 - a[0]*10;
a[2] = i/10 - a[0]*100-a[1]*10;
a[3] = i-a[0]*1000 -a[1]*100 -a[2]*10;
if(a[0]==a[3]&&a[1]==a[2])
{
b = true;
//cout<<i<<"是回文数。"<<endl;
}
}
return b;
}
bool isPrime(int a)
{
bool b=true;
if(a==1)
{
//cout<<a<<" "<<endl;
}
for(int j=2;j<a;j++){
if(a%j==0)
{
b=false;
}
}
if(b==true)
{
//cout<<a<<" "<<endl;
}
return b;
}