[백준/파이썬] 5692번 팩토리얼 진법 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 5692번 팩토리얼 진법
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
팩토리얼 진법으로 표현된 수를 10진수로 변환하는 문제입니다.
코드
import sys; read = sys.stdin.readline
factorial = [1]
for i in range(5): factorial.append(factorial[i] * (i + 1))
result = []
while True:
n = read()[:-1]
if int(n) == 0: break
acc = 0
for i in range(1, len(n) + 1):
acc += int(n[len(n) - i]) * factorial[i]
result.append(acc)
print('\n'.join(map(str, result)))
설명
오른쪽 자리부터 i! 가중치를 곱해 누적하면
팩토리얼 진법 수를 10진수로 변환할 수 있습니다.
댓글남기기