FCC_Intermediate Algorithm_Smallest共通のマルチ

1.タスクと要件

最小公倍数


次の2つの指定されたパラメータの最小公倍数、およびシーケンシャル番号割り切れるその間を見つけることができます。

範囲が2つの数値の配列である、二つの数字は、数値順である必要はありません。

例えば、および3 1 - 1と3とそれらを見つけることができるの間で割り切れるすべての数値の最小公倍数。

あなたが動けなくなる場合は、リード・検索・掲載の大きな動きを開くことを忘れないでください。独自のコードを記述し、他の人と一緒にプログラミングを試してみてください。

2.私の解決策

1  // 公約数参考:ブログパーク:HTTPS://www.cnblogs.com/Kiven5197/p/5656200.html 
2  
。3  関数smallestCommons(ARR){
 4    arr.sort(関数(A、B){ 戻り A - B;});
 5。   VARの結果= 1 ;
 6。   ための(I = ARR [0]; I <= ARR [1]; I ++ ){
 7。      結果= LCM(結果、I);
 8。   }
 9。   リターン結果、
 10  }
 。11  
12は、 
13である smallestCommons([1,5 ]);
 14  
15  // 2つの数の最大公約数、ユークリッドアルゴリズム(ユークリッド)
16  関数GCD(A、B){
 17。  
18である     VaRのR&LT;  
 19      ながら(B> 0 20である     {  
 21は           R&LT = A%B;  
 22れる           A = B;  
 23は、           B = R&LT;  
 24      }  
 25      リターンA、
 26である }
 27  
28  // 2つの数の最大公約数、減算
29  関数gcd2(B){
 30    ながら(=!B){
 31で     IF(> B){
 32        、A = A- B、 
 33のIS     } {
 34は、        B = B- ; A
 35      }
 36    }
 37      リターンA、
 38である }
 39  
40  // 2つの数の最小公倍数を見つける(生成物は2つの数のその最大公約数で割った値)
41である 関数LCM(A、B){
 42は、   リターン A * B / GCD(A、B); 
 43である   // リターンA * B / gcd2(A、B); 
44です }

3.他の解決策が見つかりました。

// CSDNます。https://blog.csdn.net/kyr1e/article/details/78717760

//ブログパークます。https://www.cnblogs.com/lilicat/p/6256025.html

 

おすすめ

転載: www.cnblogs.com/yoursatan/p/12506107.html