c++作业7

来源:互联网 发布:物联网数据采集与处理 编辑:程序博客网 时间:2024/06/18 09:15

一、特殊三位数

#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