项目1:特殊三位数
- #include<iostream.h>
- int fun(int x)
- {
- int i,m=1;
- for(i=x;i>0;i--)
- m*=i;
- return m;
- }
- void main()
- {
- int i,a,b,c;
- cout<<"该特殊三位数有:\n";
- for(i=100;i<1000;i++)
- {
- a=(i/10)/10;
- b=(i/10)%10;
- c=i%10;
- if(i==fun(a)+fun(b)+fun(c))
- cout<<i<<'\t';
- }
- cout<<endl;
- }
项目2: 数组素数排序
- #include<iostream>
- using namespace std;
- 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 m=n,h=0,t=1;
- while(m!=0)
- {
- h=h*10+m%10;
- m=m/10;
- }
- if(h!=n)
- t=0;
- return t;
- }
- int main()
- {
- const int N=100;
- int i,j=0,m=0,n=0,k=0,x,y;
- int a[N],b[N],c[N],d[N];
- for(i=2;i<300;i++)
- {
- if(isPrimer(i))
- {
- a[j]=i;
- j++;
- y=i;
- x=0;
- while(y!=0)
- {
- x=x*10+y%10;
- y=y/10;
- }
- if(isPrimer(x))
- {
- d[k++]=i;
- }
- }
- if(isPalindrome(i))
- {
- b[m++]=i;
- }
- if(isPrimer(i) && isPalindrome(i))
- {
- c[n++]=i;
- }
- }
- cout<<endl;
- cout<<"300以内的所有回文数有:\n";
- for(i=0;i<m;i++)
- {
- cout<<b[i]<<"\t";
- if((i+1)%6==0)
- cout<<endl;
- }
- cout<<endl;
- cout<<"300以内的所有回文素数有:\n";
- for(i=0;i<n;i++)
- {
- cout<<c[i]<<"\t";
- if((i+1)%6==0)
- cout<<endl;
- }
- cout<<endl;
- cout<<"300以内的所有素数有:\n";
- for(i=0;i<j;i++)
- {
- cout<<a[i]<<"\t";
- if((i+1)%6==0)
- cout<<endl;
- }
- cout<<endl<<"300以内的所有可逆素数有:\n";
- for(i=0;i<k;i++)
- {
- cout<<d[i]<<"\t";
- if((i+1)%6==0)
- cout<<endl;
- }
- cout<<endl;
- return 0;
- }