반응형

https://www.acmicpc.net/problem/14490

 

14490번: 백대열

n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)

www.acmicpc.net

문제

대열이는 욱제의 친구다.

  • “야 백대열을 약분하면 뭔지 알아?”
  • “??”
  • “십대일이야~ 하하!”

n:m이 주어진다. 욱제를 도와주자. (...)

입력

n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)

출력

두 수를 최대한으로 약분하여 출력한다.


풀이

유클리드 호제법을 사용해서 풀이!

유클리드 호제법:

if a > b:
	while b > 0:
    	a, b = b, a % b

python코드

# 14490 백대열

n, m = map(int,input().split(':'))
a, b = n, m
if n > m:
    while m > 0:
        n, m = m, n % m
    print(a // n, end='')
    print(':', end='')
    print(b // n)
else:
    while n > 0:
        n, m = m % n, n
    print(a//m,end='')
    print(':',end='')
    print(b//m)

똑같은 코드를 두번 반복;;;

반응형

'study > 백준' 카테고리의 다른 글

[백준] 2002. 추월 : python  (0) 2022.09.13
[백준] 4358. 생태학 : python  (0) 2022.09.13
[백준] 1269. 대칭 차집합 : python  (0) 2022.09.02
[백준] 2776. 암기왕 : python  (0) 2022.09.01
[백준] 15651. N과 M (3) : python  (0) 2022.08.31

+ Recent posts