Cinco marinheiros naufragam numa ilha e recolhem uma grande pilha de cocos durante o dia.
Naquela noite, o primeiro marinheiro acorda e decide tomar sua primeira parte mais cedo, então tenta dividir a pilha de cocos igualmente em cinco pilhas, mas descobre que sobrou um coco, então ele o joga em um macaco e depois esconde "seu". uma das cinco pilhas de cocos iguais e empurra as outras quatro pilhas juntas para formar uma única pilha visível de cocos novamente e vai para a cama.
Para encurtar a história, cada um dos marinheiros, por sua vez, se levanta uma vez durante a noite e realiza as mesmas ações de dividir a pilha de côco em cinco, descobrindo que sobrou um coco e dando aquele único coco restante ao macaco.
De manhã (após a ação sub-reptícia e separada de cada um dos cinco marinheiros durante a noite), os cocos remanescentes são divididos em cinco pilhas iguais para cada um dos marinheiros, após o que se verifica que a pilha de cocos se divide igualmente entre os marinheiros. sem resto. (Nada para o macaco de manhã.)
A tarefa:
Create a function that returns the the minimum possible size of the initial pile of coconuts collected during the day for N sailors.
Nota:
Of course the tale is told in a world where the collection of any amount of coconuts in a day and multiple divisions of the pile, etc can occur in time fitting the story line, so as not to affect the mathematics.
Cf:
Macacos e Cocos - Solução Analítica Numberphile (Video).
<a href="http://oeis.org/A002021" title="link: http://oeis.org/A002021">A002021 Pile of coconuts problem</a> The On-Line Encyclopedia of Integer Sequences. (Although some of its references may use the alternate form of the tale).
splitCoconuts
é uma função.
testString: 'assert(typeof splitCoconuts === "function", "splitCoconuts
is a function.");'
- text: splitCoconuts(5)
deve retornar 3121.
testString: 'assert(splitCoconuts(5) === 3121, "splitCoconuts(5)
should return 3121.");'
- text: splitCoconuts(6)
deve retornar 233275.
testString: 'assert(splitCoconuts(6) === 233275, "splitCoconuts(6)
should return 233275.");'
- text: splitCoconuts(7)
deve retornar 823537.
testString: 'assert(splitCoconuts(7) === 823537, "splitCoconuts(7)
should return 823537.");'
```