• STATISTIQUES
  • Il y a eu un total de 0 membres et 30000 visiteurs sur le site dans les dernières 24h pour un total de 30 000 personnes!
    Membres: 2 606
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Forum-Webmaster
    Une communauté webmaster pour apporter / recevoir de l'aide en création de site internet. Webmaster...
    Webmaster
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [EN] Hack This Site
    Hack This Site est considéré comme un réel terrain d'entraînement légal pour le...
    Hacking
    [FR] Hackfest
    Le Hackfest est un évènement de sécurité et de piratage informatique au Québec reg...
    Hacking
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[PHP] apprendre la récursivité (jeu des tours de hanoi)
12-02-2013, 04h46 (Modification du message : 12-02-2013, 04h47 par InstinctHack.)
Message : #2
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: [PHP] apprendre la récursivité (jeu des tours de hanoi)
Merci du tuto Smile

Autre exemple, peut-etre plus parlant, celle du parcours récursive d'un dossier, compliqué à mettre en place sans appeller une fonction par elle-meme

Et voilà un exemple de code simple à comprendre :
Code PHP :

<?php
function liste_Dirs($dir)
{
    $output = '<ul>';
    $dossier = opendir($dir);

    while($item = readdir($dossier))
    {
        $berk = array('.', '..'); // ne pas tenir compte de ses répertoires / fichiers

        if (!in_array($item, $berk))
        {
            $new_Dir = $dir.'/'.$item;

            if(is_dir($new_Dir))
            {
                $output .= '<li><strong>'.$item.'</strong></li>';
                $output .= liste_Dirs($new_Dir);
                $output .= '</li>';
            }
            else
            {
                $output .= '<li>'.$item.'</li>';
            }
        }
    }

    $output .= '</ul>';

    return $output;
}

// on appelle la fonction de cette façon :
echo liste_Dirs('./');
?>
 

source : http://www.viaphp.net/portions/fichiers-...repertoire



Et pour finir, celle de la fonction mathématiques factorielle (qui définie x multiplier par tous les entiers positifs inférieurs à lui)
en gros
4! == 4*3*2*1 == 4*3*2
(elle représente par exemple, le nombre d'ordres possible avec des élements)
avec 3 boules : [1] [2] [3]
les ordres possibles sont:
[1] [2] [3]
[1] [3] [2]
[2] [1] [3]
[2] [3] [1]
[3] [1] [2]
[3] [2] [1]

Bien que php possède des fonctions mathématiques (http://php.net/manual/fr/book.math.php), ainsi que des modules (http://www.php.net/manual/fr/ref.gmp.php) il est facile de coder soi-même cette fonction
voici donc l'équivalent de la fonction http://www.php.net/manual/fr/function.gmp-fact.php
Code PHP :

<?php
function factorielle($nbre)
{
        //Si $nbre = 0 on retourne 1 car soit 1! = 1, soit on est arrivés à la fin du calcul
        if($nbre === 0)
        {
                return 1;
        }
        else //Sinon on retourne le nombre multiplié par le reste de sa factorielle (avec $nbre décrémenté)
        {
                return $nbre*factorielle($nbre-1);
        }
}
 
//On affiche la factorielle de 6
echo factorielle(6);
 


Le code est extrait du ce tuto http://www.siteduzero.com/informatique/t...tilisation

voilà pour un petit rajout sympa Wink
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (1) -1 (0) Répondre


Messages dans ce sujet
RE: [PHP] apprendre la récursivité (jeu des tours de hanoi) - par InstinctHack - 12-02-2013, 04h46

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Apprendre JavaScript en s'amusant ! Booster2ooo 6 540 25-11-2013, 23h08
Dernier message: saywoot
  Apprendre le python en s'amusant ! Trivial 6 691 20-11-2013, 21h15
Dernier message: saywoot
  [Python] Meilleur endroit pour apprendre ...:: BliNK ::... 3 316 10-06-2012, 06h41
Dernier message: fr0g

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut