소인수(factor)와 인수분해(prime factorization)

밤비나·2023년 3월 14일

기초수학 w/python

목록 보기
2/14

소인수(factor)

  • 소인수는 어떤 수를 인수분해했을 때, 나오는 인수 중에서 소수인 수를 말한다.

소인수분해(prime factorization)

  • 어떤 수를 소수의 곱으로 나타내는 것

20=2×2×520 = 2 \times 2 \times 5 라면, 2255가 소인수다.

def get_divisors(num):
    divisors = []
    factor = 2  # 가장 작은 소수인 2부터 시작
    while factor <= num:
        if num % factor == 0:
            divisors.append(factor)
            num /= factor
        else:
            factor += 1
    return divisors

num = int(input("숫자를 입력하세요: "))
divisors = get_divisors(num)
print(f"{num}의 약수: {divisors}")

sympy 라이브러리의 factorint 함수를 사용한 코드

import sympy

def get_factors(num):
    factors = sympy.factorint(num)
    return sorted(factors.keys())

num = int(input("숫자를 입력하세요: "))
factors = get_factors(num)
print(factors)
profile
씨앗 데이터 분석가.

0개의 댓글