freeCodeCamp/curriculum/challenges/italian/10-coding-interview-prep/project-euler/problem-321-swapping-counte...

1.9 KiB

id title challengeType forumTopicId dashedName
5900f4ae1000cf542c50ffc0 Problema 321: Contatori Di Scambio 5 301978 problem-321-swapping-counters

--description--

Una riga orizzontale composta da 2n + 1 quadrati ha n contatori rossi posizionati ad un'estremità e n contatori blu all'altra estremità, che sono separati da un unico quadrato vuoto nel centro. Per esempio, quando n = 3.

tre quadrati con contatori rossi e blu posti sulle estremità opposte della fila, separati da un quadrato vuoto

Un contatore può spostarsi da un quadrato al successivo (slide) o può saltare sopra un altro contatore (hop) finché il quadrato accanto a quel contatore non è occupato.

mosse consentite del contatore

Sia M(n) il numero minimo di mosse/azioni per invertire completamente le posizioni dei contatori colorati; cioè, spostare tutti i contatori rossi a destra e tutti i contatori blu a sinistra.

Si può verificare che M(3) = 15, che tra l'altro è un numero triangolare.

Se creiamo una sequenza basata sui valori di n per cui M(n) è un numero triangolare, i primi cinque termini sarebbero: 1, 3, 10, 22, e 63, e la loro somma sarebbe 99.

Trova la somma dei primi quaranta termini di questa sequenza.

--hints--

swappingCounters() dovrebbe restituire 2470433131948040.

assert.strictEqual(swappingCounters(), 2470433131948040);

--seed--

--seed-contents--

function swappingCounters() {

  return true;
}

swappingCounters();

--solutions--

// solution required