[기초 수학] 약수, 소수, 소인수분해 with python

Song A·2024년 6월 18일

약수

어떤 수를 나누어떨어지게 하는 수

num = int(input("0보다 큰 정수 입력"))

for i in range(1, num+1):
    if num % i ==0:
        print(f"{num}약수:{i}")

소수

1과 자신만을 약수로 가지는 수 (1은 제외)
소수 반대 -> 합성수

for i in range(2, num+1):
    flag = True
    for n in range(2, i):
        if i % n == 0:
            flag = False
            break
    if(flag):
        print(f"{num} 소수:{i}")

소인수

약수(인수) 중에서 소수인 숫자를 소인수라고 한다.
즉, 약수이면서 소수인 것!

num = int(input("0보다 큰 정수 입력"))

n =2
while n <=num:
    if num %n ==0:
        print(f"소인수 {n}")
        num /=n
    else: n += 1

소인수분해

1보다 큰 정수를 소인수의 곱으로 나타낸 것을 소인수분해라고 한다.

num = int(input("0보다 큰 정수 입력"))

n =2
list = []
while n <=num:
    if num %n ==0:
        print(f"소인수 {n}")
        num /=n
        if list.count(n) == 0:
            list.append(n)
        else:
            list.remove(n)
    else: n += 1

total = 1
for n in list:
    total *= n

print(f"{total}")
profile
진행중

0개의 댓글