파이썬
최소공배수, 최대공약수 구하기
주니코니
2023. 7. 15. 23:56
#최소 공배수 구하기(공통된 배수들 중 가장 작은 것을 구하기)
#(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이니까 ㅎ)
또 최대공배수는 없다
(계속 곱하면 무한대 값이 나올 거야...=_=)