项目1:素数和回文
#include <iostream>
using namespace std;
int isPrimer(int);//判断是否为素数
int isPalindrome(int);//判断是否为回文数
int opposite(int);//反向
int main()
{
int i,r;
cout<<"素数有:"<<endl;
for(i=1;i<=300;i++)
{
if(isPrimer(i))
{
cout<<"\t"<<i;
}
}
cout<<endl;
cout<<"回文数有:"<<endl;
for(i=1;i<=300;i++)
{
if(isPalindrome(i))
{
cout<<"\t"<<i;
}
}
cout<<endl;
cout<<"回文素数有:"<<endl;
for(i=1;i<=300;i++)
{
if(isPrimer(i)&&isPalindrome(i))
{
cout<<"\t"<<i;
}
}
cout<<endl;
cout<<"可逆素数有:"<<endl;
for(i=1;i<=300;i++)
{
if(isPrimer(i))
{
r=opposite(i);
if(isPrimer(r))
{
cout<<"\t"<<i;
}
}
}
cout<<endl;
return 0;
}
int opposite(int n)//反向
{
int a[5];
int i=0,j,r=0;
while(n!=0)
{
a[i]=n%10;
n=n/10;
i++;
}
for(j=0;j<i;j++)
{
r=a[j]+r*10;
}
return r;
}
int isPrimer(int n)//素数
{
int i,k=0;
for(i=n-1;i>1;i--)
{
if(n%i==0)
k++;
}
if(k>0)
return 0;
else
return 1;
}
int isPalindrome(int n)//回文数
{
int r;
r=opposite(n);
if(r==n)
return 1;
else
return 0;
}
项目3:特殊三位数