728x90
https://www.acmicpc.net/problem/1934
def uc(n1, n2): # 유클리드 호제법 이용하여 최대 공약수 구하기
while(n2):
n1, n2 = n2, n1%n2
return n1
def uc2(n1, n2): # 유클리드 호제법 이용하여 최대 공배수 구하기
result = (n1*n2)//uc(n1,n2)
return result
t = int(input())
for i in range(t):
a, b = map(int, input().split())
n1 = a if a < b else b
n2 = a if a > b else b
print(uc2(a,b))
# 시간초과
t = int(input())
for i in range(t):
a, b = map(int, input().split())
mx = a if a > b else b
while True:
if mx%a==0 and mx%b==0:
print(mx)
break
mx+=1
# 시간초과
t = int(input())
for i in range(t):
a, b = map(int, input().split())
div = a if a < b else b
gcd = 1
while True:
if div == 1:
break
if a%div==0 and b%div==0:
a=a//div
b=b//div
gcd *= div
else:
div-=1
print(gcd*a*b)
# 시간초과가 나서 유클리드 호제법을 찾아봤다..
# math 모듈 이용
# 최소공배수
from math import gcd
def lcm(a, b):
return a * b // gcd(a, b)
반응형
'전.py' 카테고리의 다른 글
리스트 (0) | 2020.12.24 |
---|---|
클래스 (0) | 2020.12.24 |
백준 1789 수들의 합 (0) | 2020.12.24 |
백준 11653 소인수분해 (0) | 2020.12.24 |
파일 읽고 쓰기 (0) | 2020.12.24 |