c++第七次作业
来源:互联网 发布:stl源码剖析下载 编辑:程序博客网 时间:2024/06/06 23:55
一、特殊三位数
- #include<iostream.h>
- int fact(int);
- int main()
- {
- int n,a,b,c,d;
- n=100;
- while(n<1000)
- {
- c=n%10;
- b=(n/10)%10;
- a=n/100;
- d=fact(a)+fact(b)+fact(c);
- if(d==n)
- cout<<n<<endl;
- ++n;
- }
- return 0;
- }
-
- int fact(int n)
- {
- int i, f=1;
- for(i=1;i<=n;++i)
- f=f*i;
- return f;
- }
二、素数和回文- #include<iostream>
- using namespace std;
- inline int isPrimer(int n)
- {
- int i;
- for(i=2;i<n;i++)
- {
- if(n%i==0)
- break;
- }
- if(i==n)
- return 1;
- else
- return 0;
- }
- inline int isPalindrome(int n)
- {
- int m,a,b,c;
- b=n%10;
- a=n/10%10;
- c=n/100;
- if(n<10) m=n;
- else if(n<100) m=b*10+a;
- else m=b*100+a*10+c;
- if(m==n)
- return 1;
- else
- return 0;
- }
- inline int fan(int n)
- {
- int m,a,b,c;
- b=n%10;
- a=n/10%10;
- c=n/100;
- if(n<10) m=n;
- else if(n<100) m=b*10+a;
- else m=b*100+a*10+c;
- return m;
- }
- int main()
- {
- int n,i=0,j=0,p=0,q=0,m;
- int a[300]={0},b[300]={0},c[300]={0},d[300]={0};
- for(n=2;n<=300;n++)
- {
- if(isPrimer(n)==1)
- a[i++]=n;
- if(isPalindrome(n)==1)
- b[j++]=n;
- if((isPalindrome(n)==1)&&(isPrimer(n)==1))
- c[p++]=n;
- if((isPrimer(fan(n))==1)&&(isPrimer(n)==1))
- d[q++]=n;
- }
- cout<<"300以内的所有素数为:"<<endl;
- for(m=0;m<i;m++)
- cout<<a[m]<<" ";
- cout<<endl;
- cout<<"300以内的所有回文数为:"<<endl;
- for(m=0;m<j;m++)
- cout<<b[m]<<" ";
- cout<<endl;
- cout<<"300以内的所有回文素数为:"<<endl;
- for(m=0;m<p;m++)
- cout<<c[m]<<" ";
- cout<<endl;
- cout<<"300以内的所有可逆素数为:"<<endl;
- for(m=0;m<q;m++)
- cout<<d[m]<<" ";
- cout<<endl;
- return 0;
- }
0 0