본문 바로가기

알고리즘/SW Expert Academy

SWEA - 간단한 소인수 분해(1945, python)

728x90

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pl0Q6ANQDFAUq 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

문제 접근

  • 2,3 5, 7, 11로 소인수 분해되는 수가 주어졌을 때 각각의 지수를 출력하는 문제
  • 각 소인수로 몇 번 나눠지는지를 구하면 된다.

 

정답 코드

n = int(input())

for i in range(1, n+1):
    a = b = c = d = e = 0
    num = int(input())
    while(num % 2 == 0):
        a += 1
        num /= 2
    while(num % 3 == 0):
        b += 1
        num /= 3
    while(num % 5 == 0):
        c += 1
        num /= 5
    while(num % 7 == 0):
        d += 1
        num /= 7
    while(num % 11 == 0):
        e += 1
        num /= 11
    print('#'+str(i), a, b, c, d, e)