Introduzione (potrebbe essere ignorata)
Mettere tutti i numeri positivi nel suo ordine regolare (1, 2, 3, ...) è un po 'noioso, no? Quindi ecco una serie di sfide intorno alle permutazioni (rimpasto) di tutti i numeri positivi. Questa è la quarta sfida di questa serie (collegamenti alla prima , seconda e terza sfida).
In questa sfida, esploreremo non una permutazione dei numeri naturali, ma un intero mondo di permutazioni!
Nel 2000, Clark Kimberling ha posto un problema nel 26 ° numero di Crux Mathematicorum , una rivista scientifica di matematica pubblicata dalla Canadian Mathematical Society. Il problema era:
Ogni numero intero positivo si verifica esattamente una volta in questa sequenza?
Nel 2004, Mateusz Kwasnicki ha fornito prove positive sulla stessa rivista e nel 2008 ha pubblicato una prova più formale e (rispetto alla domanda originale) una prova più generale. Ha formulato la sequenza con parametri e :
Ha dimostrato che per ogni tale che è irrazionale, la sequenza è una permutazione dei numeri naturali. Poiché esiste un numero infinito di valori e per i quali ciò è vero, questo è veramente un intero mondo di permutazioni dei numeri naturali. Rimarremo con l'originale e per questi parametri, la sequenza può essere trovata come A050000nell'OEIS. I suoi primi 20 elementi sono:
1, 3, 9, 4, 2, 6, 18, 54, 27, 13, 39, 19, 57, 28, 14, 7, 21, 10, 5, 15
Poiché si tratta di una sfida "sequenza pura", il compito è quello di produrre per un dato come input, dove è A050000 .
Compito
Dato un input intero , output in formato intero, dove:
Nota: qui si assume l'indicizzazione basata su 1; puoi utilizzare l'indicizzazione basata su 0, quindi , ecc. Indicare questo nella risposta se si sceglie di utilizzarlo.
Casi test
Input | Output
---------------
1 | 1
5 | 2
20 | 15
50 | 165
78 | 207
123 | 94
1234 | 3537
3000 | 2245
9999 | 4065
29890 | 149853
Regole
- Input e output sono numeri interi (il tuo programma dovrebbe almeno supportare input e output nell'intervallo da 1 a 32767)
- Input non validi (0, float, stringhe, valori negativi, ecc.) Possono causare output non previsti, errori o comportamenti (non) definiti.
- Si applicano le regole I / O predefinite .
- Sono vietate le scappatoie predefinite .
- Questo è code-golf , quindi vince la risposta più breve in byte