pip install 시 Visual C++ is required 메시지와 함께 설치에러가 발생하는 이유
파이썬 패키지들은 소스로 제공될 경우도 있고, 미리빌드된 휠(prebuilt wheel)로 제공될 경우도 있습니다. 미리빌드된 휠은 소스를 각 플랫폼 (리눅스, 윈도우, 맥, 32비트, 64비트 등등) 에 맞게 누군가가 미리 빌드하여 제공하는 것이기 때문에, "현재" 가장 대중적인 플랫폼에 대해 우선적으로 제공됩니다. 2020년 현재는 32비트 파이썬은, 64비트 버전에 비해 덜 대중적입니다. 따라서 32비트 파이썬을 설치한 경우에는 pip 설치시에 이러한 에러를 만날 확률이 큽니다. (마찬가지로 파이썬 2.7 버전, 또는 나온지 오래된 3.4, 3.5 등등, 그리고 이제 막 새롭게 버전이 출시되었을 때에도) 물론 적절한 컴파일 환경 ( vc 컴파일환경 등 ) 을 설정한 경우에는 소스를 컴파일하여 잘 설..
팩토리얼이 어떤 수로 나누어 떨어지는지 확인하기
어떤 정수 f의 팩토리얼이 다른 정수 n 으로 나누어 떨어지는지 확인하기. 1 x 2 x .. x f / n 를 손으로 계산할 때, 팩토리얼부터 구하지 않을 것. 분명 분모와 2를 약분하고, 분모와 3을 약분하고 ... 를 반복하는 방식으로 풀 것이다. 이 과정을 코드로 옮겨 봄. from functools import lru_cache @lru_cache(None) def gcd_r(b, s): if b < s: b, s = s, b b, s = s, b%s if s == 0: return b return gcd_r(b, s) def gcd(b, s): if b < s: b, s = s, b while True: b, s = s, b%s if s == 0: break return b def fac_di..