c++作业7

来源:互联网 发布:c专家编程怎么样 编辑:程序博客网 时间:2024/05/29 09:25

一:素数和回文

#include <iostream>  using namespace std;  int isPrimer(int); int isPalindrome(int); int opposite(int);  int main()  {      int i,r;      cout<<"素数有:"<<endl;      for(i=1;i<=300;i++)      {          if(isPrimer(i))          {              cout<<"\t"<<i;          }      }      cout<<endl;      cout<<"回文数有:"<<endl;      for(i=1;i<=300;i++)      {          if(isPalindrome(i))          {              cout<<"\t"<<i;          }      }      cout<<endl;      cout<<"回文素数有:"<<endl;      for(i=1;i<=300;i++)      {          if(isPrimer(i)&&isPalindrome(i))          {              cout<<"\t"<<i;          }      }      cout<<endl;      cout<<"可逆素数有:"<<endl;      for(i=1;i<=300;i++)      {          if(isPrimer(i))          {              r=opposite(i);              if(isPrimer(r))              {                  cout<<"\t"<<i;              }          }      }      cout<<endl;      return 0;  }  int opposite(int n) {      int a[5];      int i=0,j,r=0;      while(n!=0)      {          a[i]=n%10;          n=n/10;          i++;      }      for(j=0;j<i;j++)      {          r=a[j]+r*10;      }      return r;  }  int isPrimer(int n) {      int i,k=0;      for(i=n-1;i>1;i--)      {          if(n%i==0)              k++;      }      if(k>0)          return 0;      else          return 1;  }  int isPalindrome(int n) {      int r;      r=opposite(n);      if(r==n)          return 1;      else          return 0;  }  


二:特殊三位数

#include<iostream.h>  int fact(int);  int main()  {      int n,a,b,c,sum;      n=100;      while(n<1000)      {          c=n%10;          b=(n/10)%10;          a=n/100;          sum=fact(a)+fact(b)+fact(c);          if(sum==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;  }  


0 0
原创粉丝点击