Methode exponentiation rapide

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
missnais
Messages: 2
Enregistré le: 01 Déc 2008, 08:02

methode exponentiation rapide

par missnais » 01 Déc 2008, 08:36

Bonjour,
J'ai un niveau en mathematique de terminale ES, je prépare le tage mage et ai besoin d'une explicatition simple et detaillée de la méthode de l'exponentiation rapide afin de pouvoir caculer sans calculette des nombres à puissances. Merci d'avance pour votre précieuse aide car je suis à Taiwan et personne ne peux m'aider. :cry:



busard_des_roseaux
Membre Complexe
Messages: 3151
Enregistré le: 24 Sep 2007, 13:50

par busard_des_roseaux » 01 Déc 2008, 09:38

Bjr,


pour calculer par exemple :

on décompose l'exposant 15 en base 2:


il suffit d'élever au carré pour obtenir
au carré pour obtenir
au carré pour obtenir

ce qui conduit à l'algorithme:

calcul_de_


3 -> U
n-1 -> k
TANT QUE , FAIRE:
Si k pair,
-> U , ->k .

si k impair
3U -> U , k-1 -> k
FIN TANT QUE
renvoyer U.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 01 Déc 2008, 09:44

salut,

wiki semble répondre a ta question ici

Il suffit de regarder la partie algorythme.J'ai utilisé celui en ruby.
Ci-dessous figure un tableau de suivi de variables : a chaque ligne correspond un passage dans la boucle.

Un exemple avec n=5, x=3 :

resultat=243

Un autre avec n=6, x=3


resultat=729.
La ou figure un x, c'est un résultat non calculé car inutile (on s'arrete a n=0)
la vie est une fête :)

missnais
Messages: 2
Enregistré le: 01 Déc 2008, 08:02

étape par étape

par missnais » 01 Déc 2008, 11:58

Merci beaucoup mais si je viens demander de l'aide sur ce forum c'est par ce que j'ai déjà chercher longuement des cours sur le net, aucun ne peuvent m'éclairer car ils me parlent de matrices, logarithmes, de bases, de récursivités etc je suis novice en math, je peux comprendre si on m'explique étape par étape ce que je dois faire concrètement avec un exemple, mais ne comprends pas le langage mathématique. C'est pas la peine de trop m'expliquer le pourquoi je ne pense pas avoir assez d'expérience en la matière pour comprendre.

Merci encore d'avance pour vos précieuses réponses.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 01 Déc 2008, 12:16

def puissance(x,n)
resultat = 1
while (n != 0)
# si n est impair, on multiplie resultat par x
if ((n % 2) == 1) then
resultat = resultat * x
n=n-1
end
x = x*x
n = n/2
end
return resultat
end
//--->chez wiki
tu ne comprends pas l'algorythme?

PS: lalgo de busard_des_roseaux est encore plus "francisé". Essai de faire un tableau de variable...
la vie est une fête :)

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 47 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite