1936 - Fatorial
Vamos resolver esse problema gulosamente (apesar de estarmos na categoria Ad Hoc).
Last updated
Vamos resolver esse problema gulosamente (apesar de estarmos na categoria Ad Hoc).
Last updated
Aqui estamos interessados em saber o mínimo de fatoriais necessários para somar um determinado número, o que pode ser feito de maneira gulosa, ou seja, considerando todas as parcelas do maior fatorial possível dentro do número e assim sucessivamente até que alcance o número passado.
Por exemplo, para o número 10
, o maior fatorial menor que 10
é 3!
e é possível encaixar apenas uma dessa parcela, sobrando 4
. Para o número 4
, o maior fatorial menor que 4
é 2!
e é possível encaixar duas parcelas de 2!
, sobrando 0
. Logo, o número total de parcelas mínimo necessário é 3
(3!
+ 2!
+ 2!
).
Pré-calcular os fatoriais até 100.000 vai simplificar bastante nosso código.