/*
*Corpyright (c)2013,烟台大学计算机学院
*All right reseved.
*作者:高古尊
*完成日期:2013年11月5日
*版本号:v1.0
*输入描述:1000
*问题描述:输出1000 以内的所有素数。
输出1000 以内的所有回文数。
输出1000 以内的所有回文素数。
若一个素数的反序数仍为素数,则称它为可逆素数。求1000以内的所有可逆素数。
*程序输出:
*问题分析:
*算法设计:
*/
#include <iostream>
using namespace std;
int isPrimer(int a);
int reverse(int x);
int main()
{
int m,x,y;
cout<<"请输入一个数:";
cin>>y;
cout<<y<<"之内的素数有:";
for(m=0; m<y;)
{
m++;
if(m==isPrimer(m))
{
cout<<m<<' ';
}
}
cout<<endl;
cout<<y<<"之内的回文数有:";
for(m=0; m<y;)
{
m++;
if(m==reverse(m))
{
cout<<m<<' ';
}
}
cout<<endl;
cout<<y<<"之内的回文素数有:";
for(m=0; m<y;)
{
m++;
if(m==isPrimer(m)&&m==reverse(m))
{
cout<<m<<' ';
}
}
cout<<endl;
cout<<y<<"之内的可逆素数有:";
for(m=0; m<y;)
{
m++;
x=reverse(m);
if(x==isPrimer(m))
{
cout<<x<<' ';
}
}
cout<<endl;
return 0;
}
int isPrimer(int n)
{
int i,z;
if(n!=2)
{
for(i=1;i<n/2;)
{
i++;
if(n%i==0)
{
z=0;
break;
}
else
{
z=n;
}
}
}
else
{
z=n;
}
return z;
}
int reverse(int x)
{
int a,m=0;
do
{
a=x%10;
m=m*10+a;
x=x/10;
}
while(x>0);
return m;
}
输出1000以内的素数,回文数,回文素数,逆素数
最新推荐文章于 2023-03-14 10:54:25 发布