Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
exponentiation [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


exponentiation

Warning: Undefined array key -1 in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/html.php on line 1458

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
exponentiation [2009/11/25 21:54]
tyrtamos
exponentiation [2012/05/03 06:58]
tyrtamos
Ligne 6: Ligne 6:
 Pour certains calculs portant sur les calculs de puissance (%%x**y%%) et de puissance modulaire (%%x**y%z%%) des nombres entiers longs, on est quelquefois obligé de les programmer, et le calcul direct est beaucoup trop long: on va donner ici une méthode plus rapide. Pour certains calculs portant sur les calculs de puissance (%%x**y%%) et de puissance modulaire (%%x**y%z%%) des nombres entiers longs, on est quelquefois obligé de les programmer, et le calcul direct est beaucoup trop long: on va donner ici une méthode plus rapide.
  
-Ce n'est cependant pas utile dans les dernières versions de Python: la fonction pow(x,y) et pow(x,y,z) fait ça très bien, et plus rapidement. +Ce n'est cependant pas utile dans les dernières versions de Python: la fonction pow(x,y) et pow(x,y,z) fait ça très bien, et plus rapidement. Il y a cependant un petit problème: la fonction 'pow' du Python de base n'est pas identique à la fonction 'pow' du module math: cette dernière ne supporte pas l'exponentiation modulaire (le 3e argument). Une solution est de renommer le 'pow' de base de la façon suivante:
  
-Référence pour l'exponentiation modulaire (entre autres):+<code python> 
 +from __builtin__ import pow as powmod 
 + 
 +x = powmod(a,b,c) 
 +</code> 
 + 
 +Ainsi, on peut faire de l'exponentiation modulaire même lorsqu'on a besoin d'importer le module math comme 'from math import *'. 
 + 
 +Un site pour l'exponentiation binaire:
  
 [[http://www.labri.fr/perso/betrema/deug/poly/exp-rapide.html]] [[http://www.labri.fr/perso/betrema/deug/poly/exp-rapide.html]]
  
-Référence pour l'exponentiation modulaire (entre autres):+Un site pour l'exponentiation modulaire:
  
 [[http://fr.wikipedia.org/wiki/Exponentiation_modulaire]] [[http://fr.wikipedia.org/wiki/Exponentiation_modulaire]]
Ligne 60: Ligne 68:
  
 <code> <code>
-lpowmod(936293+lpowmod(125,687,15
-256 +5 
-lpowmod(686861+lpowmod(555,635,117
-476 +81 
-lpowmod(924439+lpowmod(873,185,67
-105+41
 </code> </code>
- 
- 
  
  
exponentiation.txt · Dernière modification: 2012/05/03 06:58 de tyrtamos