Tutti conoscono la sequenza di Fibonacci:
si prende un quadrato, si attacca un quadrato uguale ad esso, quindi si attacca ripetutamente un quadrato la cui lunghezza laterale è uguale alla lunghezza laterale più grande del rettangolo risultante.
Il risultato è una bellissima spirale di quadrati la cui sequenza di numeri è la sequenza di Fibonacci :
E se non volessimo usare i quadrati?
Se usiamo triangoli equilateri - anziché quadrati - in modo simile, otteniamo una spirale di triangoli altrettanto bella e una nuova sequenza: la sequenza padovana , nota anche come A000931 :
Compito:
Dato un intero positivo, , uscita , il ° termine nella sequenza Padovan OR primi termini.
Supponiamo che i primi tre termini della sequenza siano tutti . Così, la sequenza inizierà come segue:
Ingresso:
Qualsiasi numero intero positivo
L'input non valido non deve essere preso in considerazione
Produzione:
Il ° nella sequenza Padovan OR primi termini della successione Padovan.
Se vengono stampati i primi termini, l'output può essere quello che è conveniente (elenco / array, stringa multilinea, ecc.)
Può essere -indexed o -indexed
Casi di test:
(indicizzato 0, ° termine)
Input | Output
--------------
0 | 1
1 | 1
2 | 1
4 | 2
6 | 4
14 | 37
20 | 200
33 | 7739
(1 indicizzato, primi termini)
Input | Output
--------------
1 | 1
3 | 1,1,1
4 | 1,1,1,2
7 | 1,1,1,2,2,3,4
10 | 1,1,1,2,2,3,4,5,7,9
12 | 1,1,1,2,2,3,4,5,7,9,12,16
Regole:
Questo è code-golf : meno byte, meglio è!
Sono vietate le scappatoie standard .
a_0=1, a_1=0, a_2=0
. Finisce per essere spostato un po 'perché poia_5=a_6=a_7=1
14
(0-indicizzato) viene mostrato come in uscita28
mentre credo che dovrebbe produrre37