Instruções

"9 bilhões de nomes de Deus, o inteiro"

Esta tarefa é uma variação de um conto de Arthur C. Clarke. (Quem chegar à solução deve estar ciente das consequências de concluir esta tarefa.) Em detalhes, para especificar o que significa um "nome": <ul> <li>The integer 1 has 1 name "1".</li> <li>The integer 2 has 2 names "1+1" and "2".</li> <li>The integer 3 has 3 names "1+1+1", "2+1", and "3".</li> <li>The integer 4 has 5 names "1+1+1+1", "2+1+1", "2+2", "3+1", "4".</li> <li>The integer 5 has 7 names "1+1+1+1+1", "2+1+1+1", "2+2+1", "3+1+1", "3+2", "4+1", "5".</li> </ul> Isto pode ser visualizado do seguinte modo: <pre> 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 1 3 3 2 1 1 </pre> Onde a linha $n$ corresponde ao inteiro $n$ e cada coluna $C$ na linha $m$ da esquerda para a direita corresponde ao número de nomes que começam com $C$. Como opção, note que a soma da $n$-ésima linha $P(n)$ é a função de partição de inteiros.

O que fazer:

Implemente uma função que retorna a soma da $n$-ésima linha.

Critérios de Aceitação:

Testes:

  • `numberOfNames` deve ser uma função.
  • `numberOfNames(5)` deve ser igual a 7.
  • `numberOfNames(12)` deve ser igual a 77.
  • `numberOfNames(18)` deve ser igual a 385.
  • `numberOfNames(23)` deve ser igual a 1255.
  • `numberOfNames(42)` deve ser igual a 53174.
  • `numberOfNames(123)` deve ser igual a 2552338241.

Console