Chef.Yeon
Code Cook
Chef.Yeon
전체 방문자
오늘
어제
  • 분류 전체보기 (230)
    • 게임 개발 (1)
      • Unity (1)
    • Android (27)
      • Kotlin (19)
      • 우아한테크코스 5기 (4)
    • Language (11)
      • 파이썬 (3)
      • Java (7)
    • DB (2)
      • SQL (16)
    • Spring (25)
    • 코딩테스트 (56)
    • Git (1)
    • TIL (85)
    • DevOps (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • kibana
  • 코틀린 인 액션
  • 문자열
  • 우아한테크코스
  • webflux
  • 백준
  • til
  • Docker
  • Android
  • 레포지토리
  • MariaDB
  • 파이썬
  • spring
  • SQL
  • 안드로이드
  • enum
  • rsocket
  • 내림차순
  • 프로그래머스
  • grafana
  • 프리코스
  • 코딩테스트
  • ec2
  • Wil
  • kotlin
  • 코틀린
  • elasticsearch
  • java
  • 에라토스테네스의 체
  • 다이나믹 프로그래밍

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Chef.Yeon

Code Cook

Language/파이썬

[파이썬] 최대공약수와 최소공배수

2022. 9. 25. 21:39

최대공약수 GCD : Greatest Common Divisor

두 수 이상의 공통인 약수 중 최대인 것

12의 약수 : 1, 2, 3, 4, 6, 12
6의 약수 : 1, 2, 3, 6
12와 6의 공통인 약수 : 1, 2, 3, 6
12와 6의 최대공약수 : 6

 

최소공배수 LCM : Least Common Multiple

두 수 이상의 공통인 배수 중 최소인 것

5의 배수 : 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, ...
15의 배수 : 15, 30, 45, 60, ...
5와 15의 공통인 배수 : 15, 30, 60, ...
5와 15의 최소공배수 : 15

 

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

유클리드 호제법

x, y 의 최대공약수는 y와 x%y의 최대공약수와 같음을 이용하는 방법

x와 y를 나눈 나머지가 0일 때까지 x%y를 수행

이때 나머지가 0이 될 때까지 x, y = y, (x%y) 으로 바꾸어 계산함

x와 y를 나눈 나머지가 0이 될 때, 이때의 y 값이 최대공약수

유클리드 호제법을 이용해 6과 12의 최대공약수 구하기
step1) x = 6, y = 12
-> x % y != 0 이므로 x, y = y, (x%y) 수행 
step2) x = 12, y = 6
-> x % y == 0 이므로 y 값이 최대공약수 
step3) 최대공약수 = 6

 

최대공약수를 통해 최소공배수 구하기

최소공배수는 x 와 y를 곱한 값을 최대공약수를 나눈 몫

6과 12의 최소공배수
x = 6, y = 12
최소공배수 = (x * y) // 최대공약수
-> (6 * 12) // 6 = 12

 

파이썬 코드1

def GCD(x,y):
    return y if x%y==0 else GCD(y,x%y)

def LCM(x,y):
    return (x*y)//GCD(x,y)

print(GCD(2,5)) # 1
print(LCM(2,5)) # 10

 

파이썬 코드2

math 모듈을 사용하는 방법

import math

print(math.gcd(2,5))
print(math.lcm(2,5))
728x90

'Language > 파이썬' 카테고리의 다른 글

[Python] VSCode-ModuleNotFoundError: No module named 'bs4' 오류 해결  (0) 2023.01.20
[파이썬] 소수 판별 '에라토스테네스의 체'  (0) 2022.10.20
    'Language/파이썬' 카테고리의 다른 글
    • [Python] VSCode-ModuleNotFoundError: No module named 'bs4' 오류 해결
    • [파이썬] 소수 판별 '에라토스테네스의 체'
    Chef.Yeon
    Chef.Yeon
    보기 좋고 깔끔한 코드를 요리하기 위해 노력하고 있습니다.

    티스토리툴바