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]

댓글

이 블로그의 인기 게시물

About JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째