项目一(素数和回文数)
#include<iostream>
using namespace std;
int isPrimer(int x)
{
int i , j , m=0;
j = x/2;
for(i=2; i<=j; i++)
{
if(x%i==0)
{
m=1;
break;
}
}
if(m==0) return 1;
}
int isPalindrome(int y)
{
int a,sum = 0;
a = y;
while(a)
{
sum =sum*10 + a%10 ;
a = a/10 ;
}
return (sum==y);
}
int fanxu(int y)
{
int a,sum = 0;
a = y;
while(a)
{
sum =sum*10 + a%10 ;
a = a/10 ;
}
return sum;
}
int main()
{
int k ;
cout<<"300以内的素数为:"<<endl;
for(k=2; k<=300; k++)
{
if(isPrimer(k) ==1 ) cout<<k<<'\t';
}
cout<<endl;
cout <<"300以内的回文数为:"<<endl;
for(k=2;k<=300;k++)
{
if(isPalindrome(k)==1) cout<<k<<'\t';
}
cout <<endl;
cout <<"300以内的回文素数为:"<<endl;
for(k=2;k<=300;k++)
{
if( (isPrimer(k)==1) && ( isPalindrome(k)==1) ) cout<<k<<'\t';
}
cout<<endl;
cout <<"300以内的可逆素数为:"<<endl;
for(k=2;k<=300;k++)
{
if( (isPrimer (k)==1) && isPrimer(fanxu(k))==1) cout<<k<<'\t';
}
return 0;
}
项目三(特殊三位数)
#include<iostream>
using namespace std;
int factorial(int x)
{
int a=1;
while(x>0)
{
a=a*x;
x--;
}
return a;
}
int main()
{
int n,a,b,c;
for(n=100; n<1000; n++)
{
a=n/100;
b=n%100/10;
c=n%10;
if(n==factorial(a)+factorial(b)+factorial(c)) cout<<n<<endl;
}
return 0;
}