精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • c++求最小公倍數(shù).

    c++求最小公倍數(shù).
    雖然有思路但是不知道怎么寫成代碼:定義兩個整數(shù)m,n,最小公倍數(shù)就是am=bn,當m=bn時最小公倍數(shù)為m.當a,b兩個都是偶數(shù)時,則不是公倍數(shù),當a,b兩數(shù)一個奇數(shù)一個偶數(shù)或兩個奇數(shù)時則為最小公倍數(shù).則輸出最小公倍數(shù).
    請用我的思路來寫一下代碼,看一下我的思路能否實現(xiàn)?,如果可能,最后在提出一個更好的思路.
    其他人氣:565 ℃時間:2020-06-30 16:43:22
    優(yōu)質解答
    按你的思路,應該是給定兩個數(shù)a,b;判斷是否屬于 一個奇數(shù)一個偶數(shù)或兩個奇數(shù) 的情況,不是除2,若是,需要檢測兩個數(shù)是否互質,不是就要除以他們的一個最小公因子,然后循環(huán)這樣的操作就能實現(xiàn)你的思路,但耗費時間久,效率...是求m,n的公倍數(shù),你解讀我的思路是解讀成求m,n的公倍數(shù)嗎?

    按你的思路寫的代碼,看是否符合你的要求?

     #include <iostream>
    using namespace std;
    class lcm_gcd
    {
     int X;
     int Y; //存取傳入?yún)?shù)值
     int s[20]; //存放質因子
     int si;    //存放每次判斷質因子的積
     int slength;//存放s[20]的長度
    public:
     lcm_gcd(int,int);   //定義構造函數(shù)
     void lcm();         //定義最小公倍數(shù)函數(shù)
     void  zhiyz(int);   //定義質因子函數(shù)
    };
    lcm_gcd::lcm_gcd(int a,int b)
    {
     X=a;
     Y=b;
    }
    void lcm_gcd::lcm(){
     zhiyz(X);
     si=1;
     for(int i=0;i<slength;i++)
     {
      for(;X%s[i]==0&&Y%s[i]==0;)
      { si=si*s[i];
      X=X/s[i];
      Y=Y/s[i];
      }
     }
     cout<<"最小公倍數(shù):"<<si*X*Y<<endl;
    }
    void  lcm_gcd::zhiyz(int a) {  //求質因子
     slength=0;
     int n,n0,i=2,j=0; 
     int tmp=0; 
     n=a; 
     n0=n; 
     while(n0>=i) 
     { 
      if(n0%i==0) 
      { 
       if(i!=tmp) 
       {   s[j]=i;
       j++;
       slength++;
       tmp=i; 
       } 
       n0 /= i; 
      } 
      else 
       i++; 
     } 
     if(n0!=1 && n0!=tmp) 
     { 
      s[j]=n0;
      slength++;
     }
     int k=slength;
    }
    void main()
    {
     int a,b;
     cout<<"輸入兩個整數(shù)"<<endl;
     cin>>a>>b;
     lcm_gcd aa(a,b);
     aa.lcm();
    }
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版