RUBY
소인수, 소인수분해(파이썬 출력) 본문
소인수와 소인수분해
소인수
약수(인수) 중에서 소수인 숫자를 소인수라고 한다
파이썬을 이용해서 사용자가 입력한 수를 소인수분해해보자
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