Header
Accueil Forum Membres Téléchargements Services Gratuits
BestPig ToolBox > News > Suite de fibonacci
Suite de fibonacci-   Posté le Samedi 6 Février 2010 à 23h04

Bonjour à tous,

Quoi mais il est pas mort lui :o.

Projetant d'aller à Epitech pour cette rentrée, je me suis dit, pourquoi ne pas commencer le C.
Mais voulant faire quelque chose sans suivre un tuto je me suis dit, a ben pourquoi ne pas faire des additions de nombre très très grand.

Pour me mettre un peu dans le bain epitech, j'essaie de respecter la norme (Sauf au niveau des 25 lignes :/) et j'utilise le moins possible de fonctions natives, tout coder maison :P.

Et pour mettre en pratique tout ça, une petite suite de fibonacci, c'est pas bien hein ?

Code C : [Séléctionner le code]

int fibonacci(int n)
{
        char *a;
        char *b;
        char *tmp;
        int i;
 
        a = "1";
        b = "0";
        tmp = "0";
 
        i = 0;
 
        while(i <= n)
        {
                tmp = a;
                a = b;
                b = my_add(a, tmp);
                printf("%sn", a);
                i++;
        }
        return (0);
}
 
char    *my_add(char *nbr1, char *nbr2)
{
        char *result;
        long long i;
        long long len;
        int retenu;
 
        len = (my_strlen(nbr1) >= my_strlen(nbr2)) ? my_strlen(nbr1) : my_strlen(nbr2);
        nbr1 = my_strrev(str_resize(nbr1, len));
        nbr2 = my_strrev(str_resize(nbr2, len));
        result = (char *)malloc(sizeof(char) * len + 3);
        i = 0;
        retenu = 0;
 
        while (i != len)
                {
                        result[i] = nbr1[i] - 48 + nbr2[i] - 48 + retenu;
                        retenu = 0;
                        
                        if (result[i] >= 10)
                                {
                                        result[i] -= 10;
                                        retenu = 1;
                                }
                        result[i] += 48;
                        i++;
                }
        result[i] = retenu + 48;
 
        return (str_clean(my_strrev(result)));
}
 


Les sources complètes ici : http://www.bestpig.fr/files/fibo.zip

Commenté le Jeudi 18 Février 2010 à 10h25
db0
Membre
Avatar
{Déconnecté}

PUTAIN LA NORME !!! :@

(posté par un tek1)

Commenté le Jeudi 18 Février 2010 à 13h14
bestpig
Administrateur
Avatar
{Déconnecté}

Pk j'ai eu -42 Sniff.

Vous devez être loguer pour pouvoir déposer un commentaire
Copyright © 2008 PigBox Tous droits réservés.
Toute reproduction totale ou partielle est interdite sans l'accord de l'auteur
Requete(s) SQL : 0 | Temps d'execution : 22.51 ms
Webmaster :
Valid XHTML 1.0 Transitional  Valid CSS!