C++作业7

来源:互联网 发布:java注释 编辑:程序博客网 时间:2024/05/20 04:31

项目2:最小公倍数和最大公约数

#include<iostream>  using namespace std;  int leasemul;  void f1(int i,int j)  {      int t;      if(i<j)          f1(j,i);       else      {          while(j!=0)          {              t=i%j;              i=j;              j=t;  }          leasemul=i;      }  }  int f2(int i,int j)  {      int t;      t=(i*j)/leasemul;      return t;  }  int main()  {      int i,j;      cout<<"请输入两个整数:"<<endl;      cin>>i>>j;      f1(i,j);      cout<<i<<"与"<<j<<"最大公约数是:"<<leasemul<<endl;      cout<<i<<"与"<<j<<"最大公倍数是:"<<f2(i,j)<<endl;      return 0;  }   

项目1:素数和回文

#include<iostream>using namespace std;  int isPrimer(int n)//判断是否为素数  {      int a,b;      for(a=2;a<n;a++)          if(n%a==0)          {              b=0;              break;          }else b=1;    return b;  }  int isPalindrome(int n) //判断是否为回文数  {         int m=n,i=0,j;      while(m!=0)       {                         i=i*10+m%10;              m=m/10;       }      if(i!=n)          j=0;else j=1;    return j;  }  int main()  {      int i,j=0,k=0,l=0,m=0,n,p;      int a[300],b[300],c[300],d[300];      for(i=2;i<300;i++)      {          if(isPrimer(i))//素数          {              a[j]=i;              j++;                          n=0;            p=i;              while(p!=0)              {                  n=n*10+p%10;                  p=p/10;              }if(isPrimer(n))//可逆素数              d[m++]=i;       }   if(isPalindrome(i))//回文数                b[k++]=i;   if(isPrimer(i)&&isPalindrome(i))//回文素数              c[l++]=i;                         }      cout<<"300以内的所有素数有:";      for(i=0;i<j;i++)  cout<<a[i]<<" ";cout<<endl<<"300以内的所有回文数有:";      for(i=0;i<k;i++)          cout<<b[i]<<" ";  cout<<endl<<"300以内的所有回文素数有:";      for(i=0;i<l;i++)          cout<<c[i]<<" ";    cout<<endl<<"300以内的所有可逆素数有:";      for(i=0;i<m;i++)          cout<<d[i]<<" ";  cout<<endl;      return 0;  }  


0 0
原创粉丝点击