컴공생의 다이어리

[파이썬, Python] 최대공약수(GCD) 본문

Development/Python & Django

[파이썬, Python] 최대공약수(GCD)

컴공 K 2022. 4. 25. 00:01

최대공약수(Greatest Common Divisor, GCD)

  • 공약수(common divisor)란 두 수 이상의 여러 수의 공통된 약수를 의미
  • 최대공약수(GCD)란 두 수 이상의 여러 수의 공약수 중 최대인 수를 가리킴
  • 최대공약수가 1이면 두 수는 서로소(coprime) 관계

출처 : TCP school

 

 

기본적인 방법
def gcd(a, b):
    for i in range(min(a, b), 0, -1):
        if a % i == 0 and b % i == 0:
            return i

 

 

유클리드 호제법 사용
def gcd(a, b):
    while b > 0:
        a, b = b, a % b
    return a

# or

def gcd(a, b):
    if a % b == 0:
        return b
    elif b == 0:
        return a
    else:
        return gcd(b, a % b)

 

 

파이썬 math 라이브러리 사용
import math
a, b = 10, 15
math.gcd(a, b)  # 5

 

 

 

 

 

 

 

 

http://www.tcpschool.com/codingmath/common

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

https://bloowhale.tistory.com/103

 

[Python] 최소공배수와 최대공약수

GCD (Greatest Common Divisor) 이름에서 알 수 있듯이 두 수 혹은 그 이상의 여러 수의 공통인 약수 중, 최대인 것을 의미한다. 즉, 수들의 각각의 약수 중 공통이며 가장 큰 수를 최대공약수라고 한다. 8

bloowhale.tistory.com

https://slowsure.tistory.com/128

 

[Python/파이썬]최소공배수 & 최대공약수 & 약수

0. 개념 생략 1. 약수 약수를 지원하는 라이브러리는 없다. 하지만, 약수를 출력하는 방법에 따라 실행시간의 차이는 크다. 가장먼저 직관적으로 떠올리는 코드는 다음과 같을 것이다. # N의 약수

slowsure.tistory.com

 

728x90
Comments