본문 바로가기

TIL/알고리즘 문제

소인수분해

def prime_factors(N):
    factors = []
    n = 2
    while n <= N:
        if N % n == 0:
            factors.append(n)
            N = N / n
        else:
            n = n + 1
    return factors

T = int(input())
for testcase in range(1, T + 1):
    N = int(input())
    a = 0
    b = 0
    c = 0
    d = 0
    e = 0
    num_list = prime_factors(N)
    
    for i in num_list:
        if i == 2:
            a += 1
        elif i == 3:
            b += 1
        elif i == 5:
            c += 1
        elif i == 7:
            d += 1
        elif i == 11:
            e += 1

    print(f"#{testcase} {a} {b} {c} {d} {e}")

'TIL > 알고리즘 문제' 카테고리의 다른 글

1, 2, 3 더하기 문제 / 메모이제이션, 타뷸레이션 활용  (0) 2024.03.12
백준-10799 쇠막대기  (0) 2024.03.10
동전0 // 시간 복잡도  (0) 2024.03.05
파리 잡기  (0) 2024.03.05
달팽이 숫자  (0) 2024.03.05