오늘의 알고리즘 11653번

암영·2022년 8월 4일
0

오늘의 알고리즘

목록 보기
36/37


#2-n사이에 소수를 찾는 함수
def find_sosu(n):
    sosu=[]
    if n>1:
        for i in range(2,n):
            error=0
            for j in range(2,i):
                
                if i%j==0:
                    error+=1
            if error==0:
                sosu.append(i)
    return sosu

n=int(input())
z=find_sosu(n)
#find_sosu에서 뽑아낸 소수들로 나눠보자..?
def divided_sosu(m):
    
    global n #글로벌 변수 설정해주는 것!
    while n==1:
        for i in z:
            if n%i==0:
                n=n/i
                print(i)
            else:
                continue

  
divided_sosu(z)

한줄평
일단 작동도 안될 뿐 더러 너무 복잡하게 생각했다

정답

블로깅으로 찾음.

n = int(input())

if n == 1:
    print('')

# 2부터 하나씩 나눠보기
for i in range(2, n+1):
    if n % i == 0:
    	#해당 숫자로 나눌 수 없을 때까지 나누기
        while n % i == 0:
            print(i)
            n = n / i

해당 숫자로 나눌수 없을 때까지 나누는 것이 포인트!

profile
just do! -얼레벌레 굴러가는 공대생

0개의 댓글