본문 바로가기
Python

Python LCM – LCM을 찾는 2가지 방법

by 코딩하는 욤욤이 2024. 1. 29.
반응형

이 포스팅에서는 프로그램 예제를 통해 Python에서 LCM을 찾는 다양한 방법을 살펴보겠습니다.

기본적으로 LCM은 두 숫자(또는 모두)로 나눌 수 있는 가장 작은 숫자입니다. 파이썬에서 두 숫자의 lcm을 찾는 방법을 살펴보겠습니다.

1. 루프 사용

먼저 주어진 두 숫자 중 더 큰 수를 찾습니다. 그것으로부터 시작하여 둘로 나누어지는 첫 번째 숫자, 즉 LCM을 찾으려고 노력할 것입니다.

x=12
y=20
if x > y:  
   greater = x  
else:  
   greater = y  
while(True):  
   if((greater % x == 0) and (greater % y == 0)):  
        lcm = greater  
        break  
   greater =  greater + 1
 
print ("Least common multiple = ", lcm)


산출:
최소공배수 = 60

위 프로그램에서는 먼저 더 큰 숫자를 찾은 다음 루프를 시작합니다. 루프 안에서 우리는 주어진 숫자 n1과 n2로 나누어질 수 있는 숫자를 찾을 것입니다. 해당 숫자를 얻으면 lcm이라는 새 변수에 저장합니다. 얻지 못했다면 1만큼 더 커질 것입니다. 우리가 알고 있듯이 숫자는 두 숫자보다 클 것이므로 더 큰 숫자에서 lcm을 확인하기 시작합니다.

2. GCD 사용

수학에 대한 기본 지식이 있다면 GCD를 사용하여 LCM을 매우 쉽게 찾을 수 있다는 것을 알 수 있습니다.

또한 읽어 보세요:  Python GCD – GCD 또는 HCF를 찾는 4가지 방법

공식은 다음과 같습니다.

숫자 1 * 숫자 2 = LCM * GCD

그래서,

LCM = (1번 * 2번)/1번과 2번의 GCD

이 공식을 프로그램에 구현해 보겠습니다.

import math
def get_lcm(n1,n2):
  #find gcd
  gcd = math.gcd(n1,n2)
  
  #formula
  result = (n1*n2)/gcd
  return result
  
n1 = 12
n2  = 20
 
lcm = get_lcm(n1,n2)
print("least common multiple  =  ", lcm)


산출

최소공배수 = 60.0

따라서 위 프로그램에는 두 개의 인수를 받는 함수가 있고 그 안에 먼저 GCD를 찾은 다음 주어진 수식을 적용하여 GCD의 도움으로 LCM을 찾아 반환합니다.

따라서 이것은 주어진 두 숫자의 LCM을 얻는 두 가지 가장 쉬운 방법이었습니다. 하지만 숫자가 두 개 이상이라면 어떻게 될까요? 그래서 여기에 그것을 위한 프로그램이 있습니다.

두 개 이상의 숫자로 구성된 LCM을 찾는 방법은 무엇일까요?

from math import gcd
list1 = [12,48,8,60]  
lcm = list1[0]
for i in list1[1:]:
  lcm = int(lcm*i/gcd(lcm, i))
print("least common multiple =  ", lcm)


산출:

최소공배수 = 240

따라서 위 프로그램에서는 숫자 목록이 있고 목록의 첫 번째 항목을 변수 lcm에 저장합니다. 그런 다음 list1에 있는 모든 요소를 ​​반복합니다. 루프 내에서 lcm에 lcm 의 i/GCD와 i를  곱합니다. 따라서 루프를 끊은 후 변수 lcm에 있는 모든 숫자의 LCM을 얻게 됩니다.

반응형

'Python' 카테고리의 다른 글

회문 번호를 확인하는 Python 프로그램  (0) 2024.01.29
Python GCD – GCD 또는 HCF를 찾는 4가지 방법  (0) 2024.01.29
Python 선형 검색  (1) 2024.01.29
Python 이진 검색  (0) 2024.01.29
파이썬 버블 정렬  (1) 2024.01.28