Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

RUBY

소인수, 소인수분해(파이썬 출력) 본문

프로그래밍 언어/Python

소인수, 소인수분해(파이썬 출력)

ruby-jieun 2023. 1. 14. 00:23

 

 

소인수와 소인수분해

 


 

 

소인수

약수(인수) 중에서 소수인 숫자를 소인수라고 한다

 

파이썬을 이용해서 사용자가 입력한 수를 소인수분해해보자

inputNumber = int(input('1보다 큰 정수 입력: '))

n = 2
while n <= inputNumber:
    if inputNumber % n == 0: #n으로 나눴을때 나머지가 0이다.
        print('소인수: {}'.format(n))
        inputNumber /= n #몫을 재할당한다.
    else:
        n += 1

 

 

 

 

소인수분해

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

 

72에 x를 곱하면 y의 제곱이 된다고 할 때, x에 해당하는 가장 작은 정수를 구하자

inputNumber = int(input('1보다 큰 정수 입력: '))

n = 2
searchNumbers = [] #배열 활용하기
while n <= inputNumber:
    if inputNumber % n == 0:
        print('소인수: {}'.format(n))
        if searchNumbers.count(n) == 0: #count는 해당리스트에 몇개가 있는지를 세준다.
            searchNumbers.append(n) #숫자가 0이면 n을 추가시켜준다.
        elif searchNumbers.count(n) == 1: #리스트가 1개이면
            searchNumbers.remove(n) #해당하는 것을 지워준다.
        inputNumber /= n
    else:
        n += 1

print('searchNumbers: {}'.format(searchNumbers))

resultNumber = 1
for num in searchNumbers:
    resultNumber *= num

print('어떤 수의 제곱을 만들 수 있는 가장 작은 정수: {}'.format(resultNumber))

'프로그래밍 언어 > Python' 카테고리의 다른 글

공배수와 최소공배수(파이썬출력)  (0) 2023.01.14
공약수, 최대공약수(파이썬 출력)  (0) 2023.01.14
약수, 소수(파이썬 출력)  (0) 2023.01.13
텍스트파일 쓰기  (0) 2023.01.10
Exception  (0) 2023.01.09
Comments