最大公約数と最小公倍数(GCD、LCM)
2563 ワード
プログラマーの最大公倍数と最小公倍数問題を解決した後、他の開発者の解答を見て、自分の目を疑った.
問題を見る前に,最大公約数と最小公倍数(GCD,LCM)について簡単にまとめてみよう.
2つの整数a、bの承諾数は、aの約数およびbの約数の整数であり、公倍数は、aおよびbの倍数の整数である.
このとき,最大公約数(GCD,Great Common Divisor)は最大公約数を意味する.
最小公倍数(LCM,LeastCommon Multiple)は最小公倍数を表す.
ユークリッドアーク除去法(Euclidean Algorithm):
宣言(
宣言値
条件文(
この部分はこのコードの花と見なすことができる.
条件文の値がtrueの場合、繰り返し文が実行され続け、
増監門(
ユークリッド湖製法では
コンテンツソース:https://torbjorn.tistory.com/244
サムネイルソース:https://velog.io/@jelkov/Algorithm-with-Math-GCD-LCM
問題を見る前に,最大公約数と最小公倍数(GCD,LCM)について簡単にまとめてみよう.
2つの整数a、bの承諾数は、aの約数およびbの約数の整数であり、公倍数は、aおよびbの倍数の整数である.
このとき,最大公約数(GCD,Great Common Divisor)は最大公約数を意味する.
最小公倍数(LCM,LeastCommon Multiple)は最小公倍数を表す.
ユークリッドアーク除去法(Euclidean Algorithm):
a
をb
で除算し、残りがr
の場合、GCD(a, b) = GCD(b, r)
が成立する.function gcdlcm(a, b) {
var r;
for(var ab= a*b;r = a % b;a = b, b = r){}
return [b, ab/b];
}
ドアがどのように回っているのか気になったので、頭の中でゆっくり思い出しました.宣言(
var ab = a*b
)宣言値
a
にb
を乗じる変数abに割り当てられる.条件文(
r = a % b
)この部分はこのコードの花と見なすことができる.
条件文の値がtrueの場合、繰り返し文が実行され続け、
r = a % b
に対する出力値がa % b
であるため、値が0でない場合、true
とみなされ、aがbで除算された場合、繰り返し文は終了する(a%b=0).増監門(
a = b, b = r
)ユークリッド湖製法では
GCD(a, b) === GCD(b, a % b)
の部分と言える.(条件文中r = a % b
)コンテンツソース:https://torbjorn.tistory.com/244
サムネイルソース:https://velog.io/@jelkov/Algorithm-with-Math-GCD-LCM
Reference
この問題について(最大公約数と最小公倍数(GCD、LCM)), 我々は、より多くの情報をここで見つけました https://velog.io/@heejeyang/최대공약수와-최소공배수GCD-LCMテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol