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


  • ANNUAIRE
  • [EN] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [FR] Newbie Contest
    Crackme: 35, Cryptographie: 49, Hacking: 27, Javascript/Java: 17, Logique: 31, Programmation: 23, Stéganographie: 53
    Challenges
    [EN] Hack This Site
    Hack This Site est considéré comme un réel terrain d'entraînement légal pour le...
    Hacking
    [EN] social-engineer
    Site dédié au Social Engineering en général.
    Hacking
    [FR] Secuser
    Actualité de la sécurité informatique, fiches virus et hoax, alertes par email, antivirus gratui...
    Hacking
    [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [FR] Microcontest
    Cryptographie: 7, Mathématiques: 8, Image Son Vidéo: 5, Intelligence artificielle: 3, Réseau: 2, Divers: 7, Phy...
    Challenges

  • 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 458 25-11-2013, 23h08
Dernier message: saywoot
  Apprendre le python en s'amusant ! Trivial 6 623 20-11-2013, 21h15
Dernier message: saywoot
  [Python] Meilleur endroit pour apprendre ...:: BliNK ::... 3 257 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