c++第七次作业

来源:互联网 发布:淘宝产品模板 编辑:程序博客网 时间:2024/06/08 07:43

一.最大公约和和最小公倍数

#include<iostream>  using namespace std;  int fun(int m,int n,int &gcd)  {         int t,a=m,b=n;       if(m<n)        {            t=n;              n=m;              m=t;                }         while(m%n!=0)        {            t=m%n;            m=n;            n=t;        }        gcd=n;          t=a*b/n;      return t;  }  int main()        {           int m,n,g=0;       cout<<"输入任意两个整数:";        cin>>m>>n;      n=fun(m,n,g);      cout<<"最大公约数:"<<g<<endl;          cout<<"最小公倍数:"<<n<<endl;          return 0;    } 

二.素数和回文


#include<iostream.h>  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()  {      int i,j=0,m=0,n=0,k=0,p,r;      int a[80],b[80],c[80],d[80];      for(i=2;i<300;i++)      {          if(isPrimer(i))          {              a[j]=i;              j++;                          r=i;              p=0;              while(r!=0)              {                  p=p*10+r%10;                  r=r/10;              }              if(isPrimer(p))              {                  d[k++]=i;              }          }                 if(isPalindrome(i))          {              b[m++]=i;          }          if(isPrimer(i) && isPalindrome(i))//回文素数          {              c[n++]=i;          }             }      cout<<"300以内的所有素数有:"<<endl;      for(i=0;i<j;i++)      {          cout<<a[i]<<"\t";          if((i+1)%6==0)              cout<<endl;      }      cout<<endl<<"300以内的所有回文数有:"<<endl;      for(i=0;i<m;i++)      {          cout<<b[i]<<"\t";          if((i+1)%6==0)              cout<<endl;      }      cout<<endl<<"300以内的所有回文素数有:"<<endl;      for(i=0;i<n;i++)      {          cout<<c[i]<<"\t";          if((i+1)%6==0)              cout<<endl;      }      cout<<endl<<"300以内的所有可逆素数有:"<<endl;      for(i=0;i<k;i++)      {          cout<<d[i]<<"\t";          if((i+1)%6==0)              cout<<endl;      }      cout<<endl;      return 0;  }  


0 0