[プログラマレベル1]最大公倍数と最小公倍数
4415 ワード
📃 問題の説明
最大公倍数と最小公倍数
[質問元:プログラマー]
👨💻 解決策
私はただ単純です.
nとmの最大承諾数を求める時
1からn,mまでのより大きな数、
両方とも分かれた数の中で最大の数を得た.
そして最小公倍数を求めるとき
n,mでもっと大きな数字*2,3,4で...
このように残りの数を乗じて最小公倍数で割る.
しかし
最大公約数を求める場合,ユークリッド号製法を用いてより簡単に解くことができる.
ユークリッドアークほう
2つの自然数(または正式)a,bについて、aをbで割った残りの数をr(ただし、a>b)と呼ぶと、aおよびbの最大公約数はbおよびrの最大公約数に等しい.
この性質に基づいて、bをrの残りのr’で割って、rをr’の残りの過程で割って、残りが0の時、除いた数はaとbの最大公約数です.
詳細:ユークリッドアーク除算の定理
これはユークリッド湖の製法を整理する良い日です.
👨💻 ソースコード def solution(n, m):
answer = [0]
temp = 1
while temp <= max(n, m):
if n % temp == 0 and m % temp == 0:
answer[0] = temp
temp += 1
temp = m
while temp % n != 0:
temp += m
answer.append(temp)
return answer
ユークリッドアーク法の使用
def solution(a, b):
c, d = max(a, b), min(a, b)
t = 1
while t > 0:
t = c % d
c, d = d, t
answer = [c, int(a*b/c)]
return answer
Reference
この問題について([プログラマレベル1]最大公倍数と最小公倍数), 我々は、より多くの情報をここで見つけました
https://velog.io/@choiyunh/프로그래머스-Level1-최대공약수와-최소공배수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
私はただ単純です.
nとmの最大承諾数を求める時
1からn,mまでのより大きな数、
両方とも分かれた数の中で最大の数を得た.
そして最小公倍数を求めるとき
n,mでもっと大きな数字*2,3,4で...
このように残りの数を乗じて最小公倍数で割る.
しかし
最大公約数を求める場合,ユークリッド号製法を用いてより簡単に解くことができる.
ユークリッドアークほう
2つの自然数(または正式)a,bについて、aをbで割った残りの数をr(ただし、a>b)と呼ぶと、aおよびbの最大公約数はbおよびrの最大公約数に等しい.
この性質に基づいて、bをrの残りのr’で割って、rをr’の残りの過程で割って、残りが0の時、除いた数はaとbの最大公約数です.
詳細:ユークリッドアーク除算の定理
これはユークリッド湖の製法を整理する良い日です.
👨💻 ソースコード def solution(n, m):
answer = [0]
temp = 1
while temp <= max(n, m):
if n % temp == 0 and m % temp == 0:
answer[0] = temp
temp += 1
temp = m
while temp % n != 0:
temp += m
answer.append(temp)
return answer
ユークリッドアーク法の使用
def solution(a, b):
c, d = max(a, b), min(a, b)
t = 1
while t > 0:
t = c % d
c, d = d, t
answer = [c, int(a*b/c)]
return answer
Reference
この問題について([プログラマレベル1]最大公倍数と最小公倍数), 我々は、より多くの情報をここで見つけました
https://velog.io/@choiyunh/프로그래머스-Level1-최대공약수와-최소공배수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
def solution(n, m):
answer = [0]
temp = 1
while temp <= max(n, m):
if n % temp == 0 and m % temp == 0:
answer[0] = temp
temp += 1
temp = m
while temp % n != 0:
temp += m
answer.append(temp)
return answer
def solution(a, b):
c, d = max(a, b), min(a, b)
t = 1
while t > 0:
t = c % d
c, d = d, t
answer = [c, int(a*b/c)]
return answer
Reference
この問題について([プログラマレベル1]最大公倍数と最小公倍数), 我々は、より多くの情報をここで見つけました https://velog.io/@choiyunh/프로그래머스-Level1-최대공약수와-최소공배수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol