본문 바로가기

코드 끄적임

swea 1945 소인수 분해 알고리즘

문제를 제대로 안 보고 소인수분해를 구현했는데, 아까워서 남기기

T = int(input())
for tc in range(1,T+1):
    N = int(input())
    fact = 2
    flag = 1 # 나눌 수 있는 수
    fact_list = []
    cnt = 0
    while flag:
        # 소인수가 N가 같다면 나가버린다.
        if fact == N:
            cnt = 1
            fact_list.append(cnt)
            break
        if N % fact == 0:
            N = N // fact
            cnt += 1
        else:
            if cnt!=0: fact_list.append(cnt)
            cnt = 0
            fact += 1
    print(fact_list)