UVA 12955 Factorial

题意

给出你一个数,问你这个数最少能用多少个数(可以重复)的阶乘表示出来。

思路

使用一种简单的贪心策略:

从一个刚好比给出的数小的阶乘开始,不断尝试减掉较大的阶乘,直到将给出的数减为0 。

这个贪心策略是合理的,因为如果我们当前可以减掉n!,我们减掉(n-1)!一定不如减掉n!优,因为n!=n*(n-1)!,相当于我们多减了n次,所以我们要减掉n!才能保证最优。

代码

 

Leave a Reply

Scroll to top