반응형
코드
def gcd(x,y):
if y > x:
x,y = y,x
while 1:
if y == 0:
break
x,y = y, x%y
return x
x,y = map(int,input().split())
g = gcd(x,y)
print(x+y-g)
설명
예전에 비슷한 문제를 풀어봐서 답을 구하는 식이 x + y - gcd(x,y) 였던 것이 생각났다.
def gcd(x, y):
for i in range(min(x, y), 0, -1):
if x % i == 0 and y % i == 0:
return i
처음에 최대공약수를 이런 식으로 구했더니 시간초과가 나서 유클리드 호제법을 사용했다.
반응형
'알고리즘 > 수학' 카테고리의 다른 글
[백준][Python] 2824번 최대공약수 (0) | 2022.09.26 |
---|---|
[백준][Python] 9421번 소수상근수 (1) | 2022.09.21 |
[백준][Python] 2553번 마지막 팩토리얼 수 (0) | 2022.09.16 |
[백준][Python] 4134번 다음 소수 (0) | 2022.09.13 |
[백준][Python] 21312번 홀짝 칵테일 (0) | 2022.05.19 |
댓글