SWEA
SWEA 1945 간단한 소인수 분해 (파이썬)
MC류짱
2022. 8. 19. 20:25
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pl0Q6ANQDFAUq
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이 및 해석(주석)
for tc in range(int(input())):
num = int(input())
a, b, c, d, e = 0, 0, 0, 0, 0
while num != 1: # 입력받은 숫자가 1이 된 경우 종료
if num % 11 == 0: # 11부터 차례대로 탐색하고 각 숫자 변수에 넣어주기
num = num//11
e += 1
elif num % 7 == 0:
num = num//7
d += 1
elif num % 5 == 0:
num = num//5
c += 1
elif num % 3 == 0:
num = num//3
b += 1
elif num % 2 == 0: # 마지막 이 과정에서 1이 될 것임
num = num//2
a += 1
print(f'#{tc+1}', a, b, c, d, e)
후기
그렇게 어렵지는 않은 문제였다. 코드의 해석은 주석에 달아놨다.
나는 코드를 짤 때 어쩌다보니 11부터 시작을 했는데, 2부터 시작하면 에러가 나는지 궁금하긴하다.
근데, 11부터 시작하는게 맞는것같다.