Diciamo che sono a dieci passi dalla mia destinazione. Cammino lì seguendo il vecchio detto "Due passi avanti e un passo indietro". Faccio due passi avanti, uno indietro, finché non mi trovo esattamente sulla mia destinazione. (Ciò potrebbe comportare il superamento della mia destinazione e il ritorno ad essa). Quanti passi ho fatto?
Certo, potrei non essere a 10 passi di distanza. Potrei essere a 11 passi di distanza, o 100. Potrei misurare dieci passi e continuare a camminare avanti e indietro per risolvere il problema, o ... Potrei scrivere del codice!
- Scrivi una funzione per capire quanti passaggi sono necessari per ottenere N passi, nella sequenza: due passi avanti, un passo indietro.
- Supponiamo che tu abbia iniziato al passaggio 0. Conta i "due passi avanti" come due passi, non uno.
- Supponiamo che tutti i passaggi abbiano una lunghezza uniforme.
- Dovrebbe restituire il numero di passi effettuati per la prima volta quando si raggiunge quello spazio. (Ad esempio, a 10 passi di distanza bastano 26 passi, ma lo avresti colpito di nuovo al passaggio 30). Siamo interessati al 26.
- Usa la lingua che preferisci.
- Dovrebbe accettare qualsiasi numero intero positivo come input. Questo rappresenta il passo target.
- Vince il minor numero di byte.
Esempio:
Voglio fare 5 passi di distanza:
| | | | | | <- I'm at step 0, not yet on the grid.
| |X| | | | <- I take two steps forward, I'm on step 2: the count is 2
|X| | | | | <- I take one step back, I'm on step 1: the count is 3
| | |X| | | <- I take two steps forward, I'm on step 3: the count is 5
| |X| | | | <- I take one step back, I'm on step 2 again: the count is 6
| | | |X| | <- I take two steps forward, I'm on step 4: the count is 8
| | |X| | | <- I take one step back, I'm on step 3 again: the count is 9
| | | | |X| <- I take two steps forward, I'm on step 5: the count is 11
In questo caso, il risultato della funzione sarebbe 11.
Risultati di esempio:
1 => 3
5 => 11
9 => 23
10 => 26
11 => 29
100 => 296
1000 => 2996
10000 => 29996
100000 => 299996
Buon divertimento, golfisti!