Somme avec une fonction

infograffik -  
fred_bgt Messages postés 159 Statut Membre -
Bonjour,

J'aimerais avoir de l'aide, j'ai une fonction simple que je n'arrive pas a resoudre. Je veux faire une fonction qui prend un chiffre entrée dans un formulaire et qui addition ce nombre en le décomposant. Par exemple, si le nombre entrée est 4, je dois additionner 4+3+2+1. Je réussi a faire le tout sauf à afficher la somme.

Merci en avance de votre aide.
Configuration: Windows Vista Internet Explorer 7.0

3 réponses

  1. fred_bgt Messages postés 159 Statut Membre 22
     
    je ne comprends pas bien ton problème car cela me semble trop simple. C'est la factorielle du nombre
    tu programme en PHP ?

    <?php

    function fact($n)
    {
    if($n === 0)
    {
    return 1;
    }
    else
    {
    return $n*fact($n-1);
    }
    }

    $x = 4; // On choisit une valeur pour $x

    // Donc ici $x=4

    echo $x,'! = ',fact($x); // On affiche 4! = 24

    ?>
    0
    1. infograffik
       
      Merci Fred,

      C'est simple en effet mais j'ai p-e pas bien expliquer le problème. Je dois faire un formulaire et exemple, on entre un chiffre, le 4. Je dois retourner la somme de ce nombre.

      Exemple:

      4 retourne 4+3+2+1=10
      6 retourne 6+5+4+3+2+1=20
      3 retourne 3+2+1=6

      Ce n'est pas des valeurs prédéfinie, je dois afficher le résutlat du nombre demandé.

      Merci encore!
      0
  2. fred_bgt Messages postés 159 Statut Membre 22
     
    ben tu lis ta variable issue du formulaire ! je ne comprends toujours pas ton problème.

    ton formulaire :
    <input type=text name=ton_nombre>

    ton traitement PHP :

    $x = $_POST['ton_nombre'];

    le reste tu connais ...
    0
    1. infograffik
       
      Ca ne marche toujours pas....

      voici mon code si ca peut aider...

      merci

      <html>
      <head>
      <title>exercicePratique1</title>
      </head>
      <body>
      <p>Entrez un nombre</p>
      <form type="post" method="post">
      <input type="text" name="somme" />
      <input type="submit" value="ok" />
      </form>
      <?php
      function somme($nombre)
      {
      do
      {
      printf("$nombre +", --$nombre);
      }
      while ($nombre > 0);
      }
      $nombre=$_POST["somme"];
      $nombre=somme($nombre);
      ?>
      <br>
      <?php
      echo "La somme de <b> ".$_POST["somme"] ."</b> est : $nombre ";
      ?>
      </body>
      </html>
      0
  3. fred_bgt Messages postés 159 Statut Membre 22
     
    tu n'as rien compris au formulaire et au fonctionnement des pages web en général
    lis le site du zéro, tu comprendras

    fais plutôt ceci (enregistre ce fichier sous le nom "page.php" et lance-le une fois uploadé sur ton serveur :

    <?

    function fact($n)
    { if($n === 0) return 1;
    else return $n*fact($n-1);
    }

    if (isset($_POST['somme'])) echo "résultat = ".fact($_POST['nombre']);
    else

    echo "
    Entrez un nombre
    <form method=POST action='page.php'>
    <input type=text name=somme>
    <input type=submit value=OK>
    </form>";

    ?>
    0