La séquence de Fibonacci est une chose assez bien connue ici. Heck, il a même sa propre étiquette. Cependant, pour autant, nous aimons bien nous en tenir à nos racines 1, 1, ...
(ou est-ce 0, 1, ...
? Nous ne le saurons peut-être jamais ...). Dans ce défi, les règles sont les mêmes, mais au lieu d'obtenir le n
e élément de la séquence de Fibonacci, vous obtiendrez le n
e élément de la séquence de Fibonacci en commençant par x, y, ...
.
Contribution
Trois entiers, dans l'ordre que vous souhaitez. n
est l'index (0 ou 1 indexé) du terme dans la séquence de votre sortie. x
et y
sont les deux premiers éléments de la séquence Fibonacci de votre exécution de programme actuelle.
Sortie
Le n
ème terme de la suite de Fibonacci à partir de x
, y
.
Cas de test
(Indexé 0)
n x y out
5 0 0 0
6 0 1 8
6 1 1 13
2 5 5 10
10 2 2 178
3 3 10 23
13 2308 4261 1325165
0 0 1 0
1 0 1 1
(1 index)
n x y out
6 0 0 0
7 0 1 8
7 1 1 13
3 5 5 10
11 2 2 178
4 3 10 23
14 2308 4261 1325165
1 0 1 0
2 0 1 1
Avertissements
Supposons 0 <= x <= y
.
Veuillez noter votre commande d'entrée (doit être constante).
[1, 2, 3]
? Oui. Tout ce dont vous avez besoin pour accepter 3 entiers.n,[x,y]
oùn
est un nombre etx
ety
sont des nombres dans une liste? C'est probablement un peu trop flexible cependant;)Réponses:
Gelée , 3 octets
Prend x , y et n (indexés 0) comme arguments de ligne de commande distincts, dans cet ordre.
Essayez-le en ligne!
Comment ça marche
la source
CJam ,
149 octetsEssayez-le en ligne!
Le format d'entrée est "xy n". Je suis toujours un noob à ce sujet, donc je suis sûr à 100% qu'il y a de meilleures façons de le faire, mais s'il vous plaît au lieu de me dire "faites ceci" essayez de ne me donner que des indices afin que je puisse trouver la réponse moi-même et obtenir mieux. Merci!
la source
ririri
peut être raccourci à 2 octets.fI
peut être raccourci à 1 octet.Python 2 , 37 octets
Essayez-le en ligne!
0 indexé, vous devrez peut-être ajuster la limite de récursivité pour
n≥999
la source
JavaScript (ES6),
2726 octetsRien d'extraordinaire ici, juste une fonction JS Fibonacci standard avec les valeurs initiales de 0 et 1 supprimées.
Essayez-le
la source
Python 2, 40 octets
0 indexé
Essayez-le en ligne
la source
Haskell , 30 octets
Essayez-le en ligne! 0 indexé. Utilisez as
(x#y)n
, par exemple(0#1)5
pour le cinquième élément de la séquence d'origine.Le moyen le plus court probablement d'obtenir la séquence de Fibonacci dans Haskell est de
f=0:scanl(+)1f
définir une liste infinief=[0,1,1,2,3,5,8,...]
contenant la séquence. Remplacer0
et1
par des argumentsx
ety
donne la séquence personnalisée.(f!!)
est alors une fonction renvoyant le nième élément def
.la source
Mathematica, 36 octets
contribution
la source
##2
place de#2,#3
.PowerShell , 40 octets
Essayez-le en ligne!
la source
Brain-Flak , 38 octets
Essayez-le en ligne!
la source
Rubis, 27 octets
la source
Gelée , 6 octets
Essayez-le en ligne!
Explication
la source
TAESGL , 4 octets
1 indexé
Interprète
Explication
Entrée prise comme
n,[x,y]
la source
Prolog (SWI) , 77 octets
Essayez-le en ligne!
Commencé à jouer au golf avec la réponse de Leaky Nun et est arrivé à quelque chose de complètement différent.
Celui-ci a une règle pour
(Nᵗʰ, (N+1)ᵗʰ)
en termes de((N-1)ᵗʰ, Nᵗʰ)
et utilise la gestion de base de données pour AFFIRMER 0ᵗʰ et 1ˢᵗ éléments lors de l' exécution.f(N,X,Y)
signifie que l'Nᵗʰ
élément estX
et que l'(N+1)ᵗʰ
élément estY
.la source
Octave , 24 octets
Format d'entrée:
n,[x,y]
.Essayez-le en ligne!
la source
Braingolf , 15 octets
_;
n'est plus nécessaire sur la dernière version de Braingolf, mais il y a environ 5 minutes, il n'y aurait donc pas de concurrence.la source
Python 2 , 112 octets
1 indexé.
Essayez-le en ligne!
la source
MATL , 7 octets
La sortie est basée sur 0.
Essayez-le à MATL Online!
Explication
Laissez les entrées Désignons
n
(index),a
,b
(conditions initiales).la source
R, 39 octets
Une fonction récursive simple. Curieusement, c'est plus court que tout ce que je peux trouver pour la séquence Fibonacci régulière (sans intégré), car cela n'a pas à être assigné
1
aux deuxx
ety
= PCalcule les
n+1
nombres de la séquence, y compris les valeurs initiales. Chaque récursivité est calculée avecn-1
et arrêtée quandn==0
. Le plus petit des deux nombres est ensuite renvoyé, donnant lan
valeur -th.la source
dc , 36 octets
Essayez-le en ligne!
0
-indexé. L'entrée doit être au formatn x y
.la source
PHP> = 7.1, 55 octets
Version en ligne
PHP> = 7.1, 73 octets
Version en ligne
la source
$y=+$x+$x=$y
. Vous pouvez également utiliser juste$n--
au lieu de$i++<$n
.Lisp commun, 49 octets, indexé 0
Je suis un Noob Lisp donc tous les conseils seraient appréciés;)
Explication:
la source
Prolog (SWI) , 85 octets
Essayez-le en ligne!
0 indexé.
la source
br ** nfuck,
3929 octetsMerci à @JoKing pour -10!
TIO ne fonctionnera pas particulièrement bien pour cela (ou pour toute solution BF à un problème impliquant des nombres). Je suggère fortement @ Timwi EsotericIDE (ou l'implémentation de BF vous-même).
Prend
x
, puisy
, alorsn
. 0 indexé. Suppose une bande sans limite ou enveloppante.Explication
la source
-1
-indexing".>
à la fin ou d'échanger l'ordre x et yC (gcc) , 29 octets
Essayez-le en ligne!
Cette implémentation est basée sur 0.
la source
05AB1E , 9 octets
Essayez-le en ligne!
Explication
la source
Lua , 44 octets
0 indexé
Essayez-le en ligne!
la source
Klein , 18 + 3 octets
Cela utilise la
000
topologiePassez la saisie dans le formulaire
x y n
.la source
Axiome,
8857 octetscela passerait le test proposé (0 indexé)
la source
Rétine , 37 octets
Essayez-le en ligne!
Basé sur 0, prend
x y n
séparé par l'espace. Calcule en unaire.la source
TI-Basic, 32 octets
la source