algorithm
알고리즘 기초 1/2 300-수학: 최대공약수와 최소공배수
park혀니
2025. 6. 6. 16:57
최대공약수와 최소공배수(python 2609)
첫 풀이는 시간초과가 발생함
생각보다 문제가 무겁구나..
틀린풀이
A, B = map(int, input().split())
m = 1
n = A * B
for i in range(1, A if A>=B else B):
if A % i == 0 and B % i == 0:
m = i
for i in range(n, 1, -1):
if i % A == 0 and i % B == 0:
n = i
print(m)
print(n)
혹시나 싶어 반복수를 줄여줘도 해결이 안됨
A, B = map(int, input().split())
m = 1
n = A * B
iter = A//2 if A>=B else B//2
for i in range(1, iter):
if A % i == 0 and B % i == 0:
m = i
iter = A if A>=B else B
for i in range(n, iter, -1):
if i % A == 0 and i % B == 0:
n = i
print(m)
print(n)
찾아보니 그냥 함수가 내장되어있음
import math
A, B = map(int, input().split())
print(math.gcd(A, B))
print(math.lcm(A, B))
아오