问题及代码: /* *Copyright(c)2014,烟台大学计算机学院 *Allrights reserved. *文件名称:MADE44.cpp *作 者:孙化龙 *完成日期:2014年11月6日 *版 本 号:v1.0 * *问题描述:多文件组织程序*/#include iostream
问题及代码:
/*
*Copyright(c)2014,烟台大学计算机学院
*Allrights reserved.
*文件名称:MADE44.cpp
*作 者:孙化龙
*完成日期:2014年11月6日
*版 本 号:v1.0
*
*问题描述:多文件组织程序
*/
#include <iostream>
using namespace std;
int reverse(int x);
bool isPrimer(int n);
int main()
{
int n;
cout<<"1.输出1000以内的所有素数。"<<endl;
for(n=2;n<=1000;n++)
{
if(isPrimer(n))
cout<<n<<'\t';
}
cout<<endl;
cout<<"2.输出1000以内所有回文数。"<<endl;
for(n=1;n<=1000;n++)
{
if(reverse(n)==n)
cout<<n<<'\t';
}
cout<<endl;
cout<<"3.输出1000以内所有回文素数。"<<endl;
for(n=2;n<=1000;n++)
{
if((reverse(n)==n)&&isPrimer(n))
cout<<n<<'\t';
}
cout<<endl;
cout<<"4.输出10000以内所有可逆素数。"<<endl;
for(n=2;n<=10000;n++)
if(isPrimer(n)&&isPrimer(reverse(n)))
cout<<n<<'\t';
return 0;
}
int reverse(int x) {
int m=0,r;
while(x>0)
{
r=x%10;
m=m*10+r;
x=x/10;
}
return m;
}
bool isPrimer(int n) {
bool prime=true;
for(int i=2; i<n; i++)
{
if(n%i==0)
{
prime=false;
break;
}
}
return prime;
}
运行结果: