Algorithme pour resoudre l'exposent
Bonjour,
J'ai un exercice d'algo don't je n'ai pas compris comment je dois proceder pour le savoir.
Mon exercice est le suivant:
Ecrire un algorithme qui saisit X et n, l’algorithme calcul X exposent n puis affiche la valeur sur l’écran. On suppose que l’utilisateur fournie des entiers naturels (négatif, nulle et positif) pour X et n.
J'ai commence par le basic:
Variable X,n en Numerique
Debut
Ecrire "Donner X et n"
Lire X,n
J'ai un exercice d'algo don't je n'ai pas compris comment je dois proceder pour le savoir.
Mon exercice est le suivant:
Ecrire un algorithme qui saisit X et n, l’algorithme calcul X exposent n puis affiche la valeur sur l’écran. On suppose que l’utilisateur fournie des entiers naturels (négatif, nulle et positif) pour X et n.
J'ai commence par le basic:
Variable X,n en Numerique
Debut
Ecrire "Donner X et n"
Lire X,n
3 réponses
-
Modérateur
-
-
Modérateur@bjdcduicfdsuune piste :
élever un nombre X à la puissance n (si n est positif) c'est multiplier ce nombre X par lui même n fois.
je vous invite à chercher ce qu'il faut faire si n'est négatif, (ne pas oublier le cas ou n est nul). -
-
Modérateur@bjdcduicfdsuerror ? les exposants négatifs cela existent. Non ?
autre question qui se pose comment on calcule le résultat de X*X*X....*X -
@baladur13je ne sait pas comment l'ecrire autre que ça :/
-
-
Bonjour,
Voici une solution :
Algorithme Exposant
var X,n,tmp,i:entier
Debut
afficher("Entrez deux valeurs : ")
saisir(X,n)
tmp=X
Pour( i <-- 1 à n) faire
tmp=tmp*X
finPour
afficher("X^n =",tmp)
Fin-
-
-
@baladur13Propose ta correction
-
-
ModérateurBonjour,
Et la récursivité dans tout ça ?
double power(double x, int n) { return (n == 0) ? 1 : x * power(x, n - 1); }
Je vous laisse gérer les cas particuliers...
NB. Pour optimiser le calcul rappelons quex^(2*n) = (x^2)^n
PS. Pour les exercices n'oubliez pas Google !