c++第七次作业

来源:互联网 发布:stl源码剖析下载 编辑:程序博客网 时间:2024/06/06 23:55

一、特殊三位数

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #include<iostream.h>      
  2. int fact(int);      
  3. int main()      
  4. {      
  5.     int n,a,b,c,d;      
  6.     n=100;      
  7.     while(n<1000)      
  8.     {      
  9.         c=n%10;      
  10.         b=(n/10)%10;      
  11.         a=n/100;      
  12.         d=fact(a)+fact(b)+fact(c);      
  13.         if(d==n)      
  14.             cout<<n<<endl;      
  15.         ++n;      
  16.     }      
  17.     return 0;      
  18. }      
  19.       
  20. int fact(int n)      
  21. {      
  22.     int i, f=1;      
  23.     for(i=1;i<=n;++i)      
  24.         f=f*i;      
  25.     return f;      
  26. }   
二、素数和回文

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #include<iostream>      
  2. using namespace std;      
  3. inline int isPrimer(int n)       
  4. {       
  5.     int i;      
  6.     for(i=2;i<n;i++)      
  7.     {      
  8.         if(n%i==0)      
  9.             break;      
  10.     }      
  11.     if(i==n)      
  12.         return 1;      
  13.     else      
  14.         return 0;      
  15. }      
  16. inline int isPalindrome(int n)       
  17. {      
  18.     int m,a,b,c;      
  19.     b=n%10;      
  20.     a=n/10%10;     
  21.     c=n/100;    
  22.     if(n<10) m=n;    
  23.     else if(n<100) m=b*10+a;    
  24.     else m=b*100+a*10+c;    
  25.     if(m==n)      
  26.         return 1;      
  27.     else      
  28.         return 0;      
  29. }       
  30. inline int fan(int n)      
  31. {      
  32.     int m,a,b,c;      
  33.     b=n%10;      
  34.     a=n/10%10;     
  35.     c=n/100;    
  36.     if(n<10) m=n;    
  37.     else if(n<100) m=b*10+a;    
  38.     else m=b*100+a*10+c;       
  39.     return m;      
  40. }      
  41. int main()      
  42. {      
  43.     int n,i=0,j=0,p=0,q=0,m;      
  44.     int a[300]={0},b[300]={0},c[300]={0},d[300]={0};      
  45.     for(n=2;n<=300;n++)      
  46.     {      
  47.         if(isPrimer(n)==1)      
  48.             a[i++]=n;      
  49.         if(isPalindrome(n)==1)      
  50.             b[j++]=n;      
  51.         if((isPalindrome(n)==1)&&(isPrimer(n)==1))      
  52.             c[p++]=n;      
  53.         if((isPrimer(fan(n))==1)&&(isPrimer(n)==1))      
  54.             d[q++]=n;      
  55.     }      
  56.     cout<<"300以内的所有素数为:"<<endl;      
  57.     for(m=0;m<i;m++)      
  58.         cout<<a[m]<<" ";      
  59.     cout<<endl;      
  60.     cout<<"300以内的所有回文数为:"<<endl;      
  61.     for(m=0;m<j;m++)      
  62.         cout<<b[m]<<" ";      
  63.     cout<<endl;      
  64.     cout<<"300以内的所有回文素数为:"<<endl;      
  65.     for(m=0;m<p;m++)      
  66.         cout<<c[m]<<" ";      
  67.     cout<<endl;      
  68.     cout<<"300以内的所有可逆素数为:"<<endl;      
  69.     for(m=0;m<q;m++)      
  70.         cout<<d[m]<<" ";      
  71.     cout<<endl;      
  72.     return 0;      
  73. }   
0 0
原创粉丝点击