최대공약수2 알고리즘 - 유클리드 최대공약수 구하기 알고리즘은 보다 나은 회사로 가기위한 방법으로 오늘부터 공부하기로 했다. 그리고 첫 강의때 배우게 된 것이 "유클리드 최대공약수 구하기"인데 이것을 배우면서 의문이 생겼다. #1 개요 선생님이 알려주기로는 유클리드 최대공약수를 풀때 32, 24라는 두개의 숫자가 있으면 큰수에서 작은수를 빼주되 유동적으로 빼주고 어느 한 쪽이 0이 되면 그 바로 전의 숫자가 최대공약수다. 라는 식으로 알려주셨다. 과정은 1) 32, 24 2) (32-24), 24 -> 8, 24 3) (24-8), 8 -> 16, 8 4) (16-8), 8 -> 8, 8 5) (8-8), 8 -> 0,8 이 되기때문에 8이 최대공약수라고 한다. #2 의문 그렇지만 내가 설정한 두 수가 29, 19라고 하면 1) (29-19), 19 ->.. 2023. 1. 6. 파이썬 2개이상의 난수의 공약수, 최대공약수, 최소공배수 코드 # 공약수, 최대공약수 import random x1 = random.randint(100,1000) x2 = random.randint(100,1000) print(f'x1: {x1}') print(f'x2: {x2}') max_num = 0 for i in range(1,min(x1,x2)+1): if x1 % i ==0 and x2 % i ==0: print(f'공약수: {i}') max_num = i print(f'최대공약수: {max_num}') # 최소공배수 min_num = (x1*x2) // max_num print('최소공배수: {}'.format(format(min_num,','))) 2022. 5. 1. 이전 1 다음