sfondo
Quando ero alle elementari, giocavamo in una lezione di matematica che procede come segue.
Tutti i bambini siedono in un grande cerchio e, a turno, contano, a partire da 1 .
Tuttavia, i seguenti numeri devono essere saltati durante il conteggio:
- Numeri multipli di 3 .
- Numeri che hanno un 3 nella sua rappresentazione decimale.
I primi 15 numeri che i bambini dovrebbero dire sono
1 2 4 5 7 8 10 11 14 16 17 19 20 22 25
Ogni volta che qualcuno sbaglia un numero - dice un numero che non è nella sequenza o salta un numero che lo è - viene rimosso dal cerchio. Questo continua fino a quando rimane solo un bambino.
Compito
Sei cattivo in questo gioco, quindi decidi di imbrogliare. Scrivi un programma o una funzione che, dato un numero della sequenza, calcola il numero successivo della sequenza.
Non è necessario gestire numeri che non possono essere rappresentati utilizzando il tipo numerico nativo della lingua, a condizione che il programma funzioni correttamente fino all'input 251 e che l'algoritmo funzioni per input arbitrariamente grandi.
Input e output possono utilizzare qualsiasi base conveniente.
Dal momento che devi nascondere il tuo codice, deve essere il più breve possibile. In realtà, questo è code-golf , quindi vince il codice più breve in byte.
Casi test
1 -> 2
2 -> 4
11 -> 14
22 -> 25
29 -> 40
251 -> 254
7
stato saltato quando l'ho giocato, ma invece avresti detto qualcos'altro, invece di passare al numero successivo in linea.