Téléchargé 5 fois
Vote des utilisateurs
0
0
Détails
Licence : Freeware
Mise en ligne le 14 octobre 2021
Plate-forme :
Windows
Langue : Français
Référencé dans
Navigation
Suite de Fibonacci
Suite de Fibonacci
Génération des termes de la suite de Fibonacci vers un fichier log.
Compilable avec Code::Blocks, sous Windows.
Compilable avec Code::Blocks, sous Windows.
Nos ressources disponibles
Code C : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { unsigned long long int a = 1; unsigned long long int b = 1; unsigned long long int c = 0; FILE * fibo; fibo = fopen ("fibonacci.log","a+"); while (c < 4000000000) { c = a + b; a = b; b = c; printf("%u \n", c); // On affiche le nombre dans la console fprintf(fibo, "%u \n", c); // On enregistre ce nombre dans le fichier log } fclose(fibo); return 0; } |
Et tu as calculé tous les termes jusqu'à 4000000000 ?
Ca a pris combien de temps ?
Ca a pris combien de temps ?
Le calcul dure seulement 12 centièmes de secondes.
Voici les termes générés, on voit que ça augmente vite :
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
Si on testait la primalité des nombres entiers, c'est beaucoup plus long que les termes de la suite de Fibonacci.
Voici les termes générés, on voit que ça augmente vite :
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
Si on testait la primalité des nombres entiers, c'est beaucoup plus long que les termes de la suite de Fibonacci.
J'avais fait la même chose en python pour la listes des nombres premiers jusqu'à plus d'un milliard, mais ça avait tourné pendant plusieurs heures;
C'était encore en train de tourner et j'ai voulu ouvrir le fichier .txt (dans lequel s'enregistrait la liste au fur et à mesure) depuis l'IDE, sauf qu'il a planté à ce moment (le fichier était très gros), donc le programme n'a pas pu finir de s'exécuter !
C'était encore en train de tourner et j'ai voulu ouvrir le fichier .txt (dans lequel s'enregistrait la liste au fur et à mesure) depuis l'IDE, sauf qu'il a planté à ce moment (le fichier était très gros), donc le programme n'a pas pu finir de s'exécuter !
Bonjour,
Non, pas nécessairement. Mais pour un programme qui calcul Fibonacci, l'utilisation du C ou du C++ ne diffère pas. De plus, votre méthode pour calculer le temps est bancal. Il ne faut pas utiliser system qui a un lourd surcoût pour s'exécuter dans un programme.
Non, pas nécessairement. Mais pour un programme qui calcul Fibonacci, l'utilisation du C ou du C++ ne diffère pas. De plus, votre méthode pour calculer le temps est bancal. Il ne faut pas utiliser system qui a un lourd surcoût pour s'exécuter dans un programme.
Bonjour,
La suite de Fibonacci tend vers une suite géométrique de raison (51/2 + 1) / 2 soit 1.618... le nombre d'or. Avec ça on trouve qu'il suffit de 92 itérations pour remplir un uint64_t. Ce qui finalement est assez faible donc assez rapide.
Salutations
La suite de Fibonacci tend vers une suite géométrique de raison (51/2 + 1) / 2 soit 1.618... le nombre d'or. Avec ça on trouve qu'il suffit de 92 itérations pour remplir un uint64_t. Ce qui finalement est assez faible donc assez rapide.
Salutations
Il paraît que le langage C est plus rapide que le langage C++.
C'est vérifiable avec cette commande pour comparaison dans un code source : system("echo %time% >> fichier_log.txt"
C'est vérifiable avec cette commande pour comparaison dans un code source : system("echo %time% >> fichier_log.txt"
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.