본문 바로가기
파이썬

최소공배수, 최대공약수 구하기

by 주니코니 2023. 7. 15.
#최소 공배수 구하기(공통된 배수들 중 가장 작은 것을 구하기)

#(1)
#한방에 해결!!!!!!!!!!!!!!!
#math 라이브러리
#최소 공배수 구하기 함수 least common multiple
import math
print(math.lcm(10,20)) 
print(math.lcm(10,20,35)) 

#최대 공약수 구하기 함수 greatest common divisor
import math
print(math.gcd(20,45)) #5
print(math.gcd(20,60,100)) #20


#(2)
#최소 공배수
a,b =map(int,input().split())
for i in range(min(a,b),0,-1):
    #가장 작은 값부터 
    if a%i == 0 and i%b ==0:
        print(i)
        break

#최대 공약수
a,b =map(int,input().split())
for i in range(max(a,b),(a*b)+1):
    #a,b 수 중 더 큰숫자부터 a*b의 수까지 for문 실행
    #더 큰 숫자 찾는 이유 : a,b의 배수 중 공통 부분 찾기 위함

    if i %a == 0 and i %b == 0:
        #a,b #둘다 값이 떨어지는 상태라면 이때 사용된 i는 최소공배수!
        print(i)
        break

 

참고로 최소공약수는 없다

(최소 공약수는 1이니까 ㅎ)

또 최대공배수는 없다

(계속 곱하면 무한대 값이 나올 거야...=_=)