IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Somme de puissances


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 61
    Par défaut Somme de puissances
    Bonsoir à tous,

    et merci d'avance pour votre aide.

    Je vous explique mon problème :
    J'ai quatre nombres :
    _ $min
    _ $max (qui doit être supérieur ou égal à $min)
    _ $nbr (un nombre positif non nul)
    _ $result (un autre nombre)

    Je voudrais afficher la somme telle que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nbr^$min + $nbr^($min+1) + $nbr^($min+2) + $nbr^($min+3) + ... + $nbr^($max) = $result
    J'arrive à afficher la somme (afficher) mais c'est pas la meilleure des solutions je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
     
    $min = 1;
    $max = 7;
    $nbr = 10;
     
    echo $min . ' - ' . $max . '<br/>';
     
    $i = $min;
    for ($i = $min; $i <= $max - 1; $i++)
    {
    		echo $nbr . "^" . $i . " + ";
    }
    echo $nbr . "^" . $max . " = ";
     
    ?>
    Je me permets donc de soliciter votre aide pour m'aider à trouver une meilleure solution pour afficher et calculer cette somme de puissances.

    Vaut-il mieux faire la somme membre par membre avec l'opérateur + ou avec la fonction bcadd() ?

    Quoi qu'il en soit merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut autre boucle
    Afin d'économiser la définition d'une variable supplémentaire, j'aurais plutôt tendance à utiliser une boule while. Je n'ai pas testé le code ci-dessous n'étant pas sur mon ordinateur et je pense qu'il est fonctionnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $min = 1;
    $max = 7;
    $nbr = 10;
     
    echo $min . ' - ' . $max . '<br/>';
     
    while($min < $max)
    {
        echo $nbr . "^" . $min . " + ";
        $min++;
    }
    echo $nbr . "^" . $max . " = ";
     
    ?>
    Moins tu définis de variables et plus tu gagnes en temps d'exécution du script. Tu peux tester avec XDebug en faisant une écriture automatique dans un fichier .trace

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 61
    Par défaut
    Tout d'abord merci pour ton aide.
    Le code fonctionne mais le problème de la boucle while est de pouvoir récupérer chaque membre pour en faire ensuite la somme :s

  4. #4
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut tu fais ça où?
    Je ne vois pas où tu récupères chaque membre dans ton script ni même où tu affiches la somme. Là, il y a des informations que je ne peux pas deviner si tu ne les exprimes pas clairement.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 61
    Par défaut
    Je souhaite résoudre l'équation affichée. Dans l'exemple précédent il s'agit de :
    10^1 + 10^2 + 10^3 + 10^4 + 10^5 + 10^6 + 10^7 =

  6. #6
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut dans la boucle et au final
    Si je reprends le code que j'ai posté avant cela devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $min = 1;
    $max = 7;
    $nbr = 10;
     
    echo $min . ' - ' . $max . '<br/>';
     
    $sum = 0;
    while($min < $max)
    {
        echo $nbr . "^" . $min . " + ";
        $sum += pow($nbr, $min);
        $min++;
    }
    $sum += pow($nbr, $max);
     
    echo $nbr . "^" . $max . " = ". $sum;
     
    ?>
    Je rappelle que n'étant pas sur mon ordi, je ne peux pas tester le code, je le fais mentalement. En principe, cela devrait fonctionner, merci de confirmer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction somme d'une puissance et factorielle
    Par ghyosmik dans le forum Débuter
    Réponses: 3
    Dernier message: 22/01/2009, 18h53
  2. Somme de puissances de deux
    Par knowl dans le forum C#
    Réponses: 5
    Dernier message: 21/01/2008, 00h38
  3. Nombres remarquables : Sommes des puissances des sous-nombres
    Par PoZZyX dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 15/11/2007, 15h20
  4. [CR ?] Somme d'heure sous Crystal ?
    Par Peter PARKER dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 17/04/2003, 16h24
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo