项目1:素数和回文
#include<iostream.h>
int isPrimer(int n);//判断是否为素数
int isPalindrome(int n); //判断是否为回文
int main()
{
int i,r,p,e=0,f=0,g=0,h=0;
int a[100],b[100],c[100],d[100];
for(i=2;i<300;i++)
{
if(isPrimer(i))
{
a[e]=i;
e++;
r=i;
p=0;
while(r!=0)
{
p=p*10+r%10;
r/=10;
}
if(isPrimer(p))
{
d[f++]=i;
}
}
if(isPalindrome(i))
{
b[g++]=i;
}
if(isPrimer(i) && isPalindrome(i))
{
c[h++]=i;
}
}
cout<<"300以内的素数为:"<<endl;
for(i=0;i<e;i++)
{
cout<<a[i]<<"\t ";
if((i+1)%6==0)
cout<<endl;
}
cout<<endl<<"300以内的回文数为:"<<endl;
for(i=0;i<g;i++)
{
cout<<b[i]<<" \t";
if((i+1)%6==0)
cout<<endl;
}
cout<<endl<<"300以内的回文素数为:"<<endl;
for(i=0;i<h;i++)
{
cout<<c[i]<<"\t ";
if((i+1)%6==0)
cout<<endl;
}
cout<<endl<<"300以内的可逆素数为:"<<endl;
for(i=0;i<f;i++)
{
cout<<d[i]<<"\t ";
if((i+1)%6==0)
cout<<endl;
}
cout<<endl;
return 0;
}
int isPrimer(int n)//判断是否为素数
{
int a,b=1;
for(a=2;a<n;a++)
if(n%a==0)
{
b=0;
break;
}
return b;
}
int isPalindrome(int n) //判断是否为回文
{
int a=n,b=0,c=1;
while(a!=0)
{
b=b*10+a%10;
a/=10;
}
if(b!=n)
c=0;
return c;
}
项目3:特殊三位数
#include<iostream.h>
int f(int n)
{
int a=1,i;
for(i=1;i<=n;i++)
{
a*=i;
}
return a;
}
int main( )
{
int a,b,c,d,i;
for(i=100;i<1000;i++)
{
a=i/100;
c=i%10;
b=i/10%10;
d=f(a)+f(b)+f(c);
if(d==i)
cout<<i<<endl;
}
return 0;
}