freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/project-euler/problem-334-spilling-the-be...

1.9 KiB

id challengeType title videoUrl localeTitle
5900f4ba1000cf542c50ffcd 5 Problem 334: Spilling the beans Problema 334: Derramando o Feijão

Description

No céu de Platão, existe um número infinito de taças em linha reta. Cada tigela contém alguns ou nenhum de um número finito de grãos. Uma criança joga um jogo, que permite apenas um tipo de movimento: remover dois feijões de qualquer tigela e colocar um em cada uma das duas tigelas adjacentes. O jogo termina quando cada tigela contém um ou nenhum feijão.

Por exemplo, considere duas taças adjacentes contendo 2 e 3 beans respectivamente, todas as outras taças sendo vazias. Os oito movimentos a seguir terminarão o jogo:

Você recebe as seguintes sequências: t0 = 123456.

  ti = ti-12 , if ti-1 is even ti-12 926252, if ti-1 is odd where ⌊x⌋ is the floor function and is the bitwise XOR operator. bi = ( ti mod 211) + 1. 

Os dois primeiros termos da última seqüência são b1 = 289 e b2 = 145. Se começarmos com b1 e b2 em duas taças adjacentes, serão necessários 3419100 movimentos para finalizar o jogo.

Considere agora 1500 taças adjacentes contendo b1, b2, ..., b1500 respectivamente, todas as outras taças sendo vazias. Descubra quantos movimentos são necessários antes do término do jogo.

Instructions

Tests

tests:
  - text: <code>euler334()</code> deve retornar 150320021261690850.
    testString: 'assert.strictEqual(euler334(), 150320021261690850, "<code>euler334()</code> should return 150320021261690850.");'

Challenge Seed

function euler334() {
  // Good luck!
  return true;
}

euler334();

Solution

// solution required