Contexte
Aujourd'hui (ou hier) est (ou était) le 23/11 ou le jour de Fibonacci! Quelle meilleure façon de célébrer que de faire un gâteau fibonacci?
Exemples
3
ii
i_i_ii_i_i
8
ii
ii
ii
ii
ii
ii
ii
ii
i ii i
i ii i
i ii i
i ii i
i ii i
i i ii i i
i i ii i i
i i ii i i
i i i ii i i i
i i i ii i i i
i i i i ii i i i i
i i i i i ii i i i i i
i_i_i_i_i_i_i_ii_i_i_i_i_i_i_i
Défi
Tu ne fais pas vraiment un gâteau, juste les bougies parce que je ne peux pas faire un gâteau
Pour faire le gâteau, vous devez d'abord obtenir les premiers n
nombres de fibonacci triés par ordre croissant. La i
hauteur de la bougie ( ) est déterminée par la valeur du nombre actuel de fibonacci. Les bougies sont séparées par un trait de soulignement ( _
).
Le gâteau doit être symétrique. Les bougies doivent donc être retournées et concaténées.
Exemple de construction
Input: 6
First 6 Fibonacci Numbers: 1, 1, 2, 3, 5, 8
Candle heights:
i
i
i
i i
i i
i i i
i i i i
i i i i i i
-----------
1 1 2 3 5 8
Output would be:
ii
ii
ii
i ii i
i ii i
i i ii i i
i i i ii i i i
i_i_i_i_i_ii_i_i_i_i_i
Numéros de référence de Fibonacci
Pour référence, voici les 15 premiers nombres de fibonacci. Dans ce défi, vous allez commencer 1
.
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610
Réponses:
Pyth, 31 octets
Essayez-le en ligne: Démonstration
Explication:
la source
J, 58 octets
Utilisations
(%-.-*:)t.
pour la génération de Fibonacci. L'explication pourrait venir un peu plus tard.Usage:
Essayez-le en ligne ici.
la source
CJam,
4139 octetsCela imprime une bonne quantité d'espace blanc de premier plan. Essayez-le en ligne dans l' interpréteur CJam .
Comment ça fonctionne
la source
TeaScript,
938476 + 1 = 77 octets+1 octet pour "Les entrées sont des nombres?" case à cocher
Version non golfée:
Merci à @ Vɪʜᴀɴ pour les conseils.
la source
r
fonction au lieu deA(x)f(0)
, par exempler(x)m(#
Array.dupe()
-il, cela ne semble pas fonctionner?Python 2, 117 octets
L'idée est simple: générer l'image dans des colonnes allant de bas en haut, de gauche à droite, avec la moitié droite inversée de la gauche. Les colonnes sont générées en itérant la récurrence de Fibonacci, sur des chaînes de
i
', entrecoupées de_
' pour la ligne du bas.Pour imprimer l'image avec des colonnes en partant du bas, nous devons la faire pivoter, ce qui signifie transposer et inverser. Malheureusement, Python n'a pas de moyen simple de transposer un tableau de lignes de longueur inégale. Le intégré
zip
tronque à la ligne la plus courte. Cela utilise l'map(None,_)
astuce, mais doit ensuite convertir tous lesNone
espaces.la source
Haskell,
182176 octetsAppelle
c
.(
f
Volé sans vergogne sur /programming/232861/fibonacci-code-golf )la source
flip replicate 'i'.(f!!)
par\x->[1..f!!x]>>"i"
.f
marche encore ...Matlab,
172152 octetsMalheureusement, Matlab n'a pas de fonction Fibonacci intégrée et la manipulation des chaînes est un peu compliquée.
Avec des sauts de ligne:
la source
Rubis,
151146142137 137132 octets137 octets
142 octets
146 octets
151 octets
Non golfé:
Usage:
Production:
la source
Python 2, 213
Enregistré 12 octets grâce à DSM.
Version non golfée.
la source