[Progrmmers]最大公倍数と最小公倍数
3791 ワード
私の答え
/*
최소공배수 Least common multiple
최대공약수 Greatest common factor
유클리드 호제법
최대공약수 구하기
큰수를 작은수로 나누었을 때 나누어 떨어지면 작은 수가 최대공약수이고
ex) 12 % 3 =0 -> 최대공약수 3
나누어 떨어지지 않는다면
ex) 12 % 5 = 2
그 나머지로 전의 작은수를 나누고 나누어 떨어지지 않는다면
5 % 2 = 1
그 나머지로 전의 작은수를 나누고...(를 반복해서 나머지가 0이 되면 리턴)
2 % 1 = 0 -> 최대공약수 1
최소공배수 구하기
두수를 곱하고 최대공약수로 나누면 최소 공배수가 나옴.
*/
function solution(n, m) {
var answer = [];
const GCF = (big,small) => { // 최대 공약수
return small === 0? big : GCF(small, (big % small))
}
let big = Math.max(n, m)
let small = Math.min(n, m)
answer.push(GCF(big,small))
answer.push(n*m/answer[0])
return answer;
}
問題の説明
両手の
最大公約数と
最小公倍数の関数を返します.
アレイの最前面の最大公約数.
次に最小公倍数を加えて戻せばいいです.
例:
ダブル3、12
最大承諾数は3です.
最小公倍数は12です.
ソリューション(3,12)は[3,12]を返さなければなりません.
せいげんじょうけん
2つの数は1以上1000000以下の自然数です.
I/O例
n m return
3 12 [3, 12]
2 5 [1, 10]
は#1上記のように.
はい#2
自然数2と5の最大承諾数が1であり、最小公倍数が10であるため、[1,10]を返さなければならない.
Reference
この問題について([Progrmmers]最大公倍数と最小公倍数), 我々は、より多くの情報をここで見つけました https://velog.io/@rhdgoehe2/Progrmmers-최대공약수와-최소-공배수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol