[プログラマレベル2]N個の最小公倍数
884 ワード
📃 問題の説明
N個の最小公倍数
2つの数の最小公倍数(Least Common Multiple)は、2つの入力倍数に共通する最小数です。たとえば、2と7の最小公倍数は14です。拡張定義後、n個の数の最小公倍数は、n個の数の倍数の最小公倍数となる。n個の数字の配列arrを入力すると、これらの数の最小公倍数を返す関数と解法を完了します。
せいげんじょうけん
arrは、長さが1または15より大きい配列である。
arrの元素は100以下の自然数である。
I/O例
arrresult[2, 6, 8, 14]168[1, 2, 3]6
[質問元:プログラマー]
👨💻 解決策
私の考えは次から次へと広がってきた。
与えられたN個の数の最小公倍数を求めるために、
所定数の共同排水から最小を求める必要がある.
1つの数を決めて、それらの倍数を残りの数で割って、すべて除いて、公倍数です。
候補者を最小限に抑えるには、最大の倍数を残りの数で割って、すべての最小の数を除いて最小の公倍数にします。
大神を踊る
n/a.結論
与えられた数の中で最大の倍数を求める。
残りの数を全部割ったら。
その数を最小公倍数にして、重複ゲートから脱出・・
与えられた数のうち1つが除去されない場合は、次の倍数の除算を繰り返します。
大神を踊る
👨💻 ソースコード
def solution(arr):
n = 1
arr.sort()
while True:
temp = arr[-1] * n
n += 1
flag = True
for a in arr[:-1]:
if temp % a != 0:
flag = False
break
if flag:
answer = temp
break
return answer
Reference
この問題について([プログラマレベル2]N個の最小公倍数), 我々は、より多くの情報をここで見つけました
https://velog.io/@choiyunh/프로그래머스-Level2-N개의-최소공배수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
私の考えは次から次へと広がってきた。 与えられたN個の数の最小公倍数を求めるために、 所定数の共同排水から最小を求める必要がある. 1つの数を決めて、それらの倍数を残りの数で割って、すべて除いて、公倍数です。 候補者を最小限に抑えるには、最大の倍数を残りの数で割って、すべての最小の数を除いて最小の公倍数にします。 大神を踊る n/a.結論 与えられた数の中で最大の倍数を求める。 残りの数を全部割ったら。 その数を最小公倍数にして、重複ゲートから脱出・・ 与えられた数のうち1つが除去されない場合は、次の倍数の除算を繰り返します。 大神を踊る
👨💻 ソースコード
def solution(arr):
n = 1
arr.sort()
while True:
temp = arr[-1] * n
n += 1
flag = True
for a in arr[:-1]:
if temp % a != 0:
flag = False
break
if flag:
answer = temp
break
return answer
Reference
この問題について([プログラマレベル2]N個の最小公倍数), 我々は、より多くの情報をここで見つけました
https://velog.io/@choiyunh/프로그래머스-Level2-N개의-최소공배수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について([プログラマレベル2]N個の最小公倍数), 我々は、より多くの情報をここで見つけました https://velog.io/@choiyunh/프로그래머스-Level2-N개의-최소공배수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol