Fibonacci

Dans votre section téléchargement, à l'adresse archives_voir.php?id=541 vous présentez un petit programme d'une dizaine de lignes pour générer une suite de Fibonacci (sans compter le define et sa fin, ni les commentaires). On peut faire la même chose avec une seule ligne.
Avec x contenant le nombre d'éléments de la suite que l'on veut. Et ça donne :
Ou, encore plus simple :
L'instruction seqn sert à générer des listes de nombres à partir de nombres déja générés dans cette même liste. Il suffit de s'en servir.
- Le premier paramètre, u(n-1)+u(n-2), sert à définir l'élément à créer comme égal à la somme des 2 éléments qui le précèdent. Par exemple, le 3ème élément de la liste est égal à la somme du 1er et du second. A noter que pour la fonction seqn, u représente la liste et n est le rang de l'élément à créer. Donc u(n) est l'élément en cours. u(n-1) l'élément précédent, etc... A noter que les noms u et n vous sont imposés. Vous ne pouvez pas les changer.
- Le deuxième paramètre représente les 2 premiers éléments de la liste. Pour une suite de Fibonacci : 1 et 1.
- Le troisième paramètre est le nombre total d'éléments dans la liste.
seqn(u(n-1)+u(n-2),{1,1},x)
Avec x contenant le nombre d'éléments de la suite que l'on veut. Et ça donne :
Define fib(x)=Prgm
:© generates first n Fibonacci numbers in the list Fibs
:© precondition: x >=1 and n is a whole number
:© note how you can put a comment on any line of the program
: Disp seqn(u(n-1)+u(n-2),{1,1},x)
:EndPrgm
Ou, encore plus simple :
Define fib(x)=seqn(u(n-1)+u(n-2),{1,1},x)
L'instruction seqn sert à générer des listes de nombres à partir de nombres déja générés dans cette même liste. Il suffit de s'en servir.
- Le premier paramètre, u(n-1)+u(n-2), sert à définir l'élément à créer comme égal à la somme des 2 éléments qui le précèdent. Par exemple, le 3ème élément de la liste est égal à la somme du 1er et du second. A noter que pour la fonction seqn, u représente la liste et n est le rang de l'élément à créer. Donc u(n) est l'élément en cours. u(n-1) l'élément précédent, etc... A noter que les noms u et n vous sont imposés. Vous ne pouvez pas les changer.
- Le deuxième paramètre représente les 2 premiers éléments de la liste. Pour une suite de Fibonacci : 1 et 1.
- Le troisième paramètre est le nombre total d'éléments dans la liste.