python2 소인수 구하는 알고리즘
#-*- coding:utf-8 -*-
#소인수 : 어떤 정수를 구성하는 인수 중에서 그 수의 소수
#예) 12의 약수는 1,2,3,4,6 => 12의 약수 중 소수는 2,3, => 2x2x3 =12 => 2,2,3
#소인수 분해 : 소수를 이용하여 그 수를 만드는 곱의 형태로 표현하는 과정
#예) 12의 소운수 분해 결과 => 2x2x3
import sys
N = input("숫자")
if(N<=2):
sys.exit(1) #입력받은 값이 2와 같거나 작으면 종
A=[]
k=1
while(True):
k=k+1#k=2로 만들어줌 2부터 항상 나누어줌
if(N%k ==0): # 12/k 나누어 떨어지면 리스트에 넣어줌
A.append(k)
N = N/k# 실제로 나눔 몫을 넣음
if(N==1):#나눈후 몫이 1이 되면 반복문 빠져나와
break
else:
k=1 # k=1는 다시 1로 초기
for l in range(0,len(A)):
print A[l]
#소인수 : 어떤 정수를 구성하는 인수 중에서 그 수의 소수
#예) 12의 약수는 1,2,3,4,6 => 12의 약수 중 소수는 2,3, => 2x2x3 =12 => 2,2,3
#소인수 분해 : 소수를 이용하여 그 수를 만드는 곱의 형태로 표현하는 과정
#예) 12의 소운수 분해 결과 => 2x2x3
import sys
N = input("숫자")
if(N<=2):
sys.exit(1) #입력받은 값이 2와 같거나 작으면 종
A=[]
k=1
while(True):
k=k+1#k=2로 만들어줌 2부터 항상 나누어줌
if(N%k ==0): # 12/k 나누어 떨어지면 리스트에 넣어줌
A.append(k)
N = N/k# 실제로 나눔 몫을 넣음
if(N==1):#나눈후 몫이 1이 되면 반복문 빠져나와
break
else:
k=1 # k=1는 다시 1로 초기
for l in range(0,len(A)):
print A[l]
댓글
댓글 쓰기