Koala - 11기/코딩테스트 준비 스터디

[백준/Python] 2057 팩토리얼 분해

beans3142 2023. 7. 16. 19:04
https://www.acmicpc.net/problem/2057
 

2057번: 팩토리얼 분해

음 아닌 정수 N이 주어졌을 때, 이 수를 서로 다른 정수 M(M ≥ 1)개의 팩토리얼의 합으로 나타낼 수 있는지 알아내는 프로그램을 작성하시오. 예를 들어 2=0!+1!로 나타낼 수 있지만, 5는 이와 같은

www.acmicpc.net



문제 분석

난이도

실버5

분류

수학, 브루트포스

들어가기 전에

숫자의 크기를 보고 대략적인 감을 잡을 수 있다면 정말 편하다.

문제

문제 풀이

 

풀이

입력 제한의 최댓값보다 20!이 더 큰 수이다. 즉 0~20 총 21가지에 대해 포함 / 비포함으로 탐색을 하면 된다. 그럴 경우 2^21가지 경우의 수로 200만정도로 충분히 브루트 포스로 풀어볼 수 있다.

소스코드