Calcul des nombres de Fibonacci
compris entre 1 et le nombre entre
Source / Exemple :
/*
Name:
Author:
Description: nb de Fibonacci
Date:
Copyright:
#include <stdio.h>
#include <conio.h>
main()
{
int i,fibo,fibo0,fibo1,nb;
printf("Entrez le nb:");
scanf("%d", &nb);
fibo0=0;
fibo1=1;
for(i=1;i<=nb;i=i+1)
{ fibo=fibo0+fibo1;
fibo0=fibo1;
fibo1=fibo;
}
printf("Le resultat est : %d\n",fibo);
getch();
}
20 oct. 2003 à 11:42
- tu peux aller jusque combien avant qu'il y est le probleme de calcul modulo 2^32 ?
- ça met combien de temps ?
Sinon, il y a une méthode pour accélérer le tout de facon draconnienne (complexité en log(n) au lieu de n)
- on remarque que [[0,1][1,1]]^n a pour element en bas à droite fibo(n)
- pour calculer a^n efficacement ,on utilise
a^(2*p)=(a*a)^p et a^(2*p+1)=a*((a*a)^p)
Ca accelere vraiment (epoustouflant sur une calculatrice TI-92), sauf que sur PC, il faudrait passer en int64 pour atteindre des grandes valeurs et voir la différence
C'est à tester
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.