NOMBRES – Curiosités, Théorie et Usages

 

Accueil                           DicoNombre            Rubriques           Nouveautés      Édition du: 03/01/2022

Orientation générale        DicoMot Math          Atlas                   Actualités                       M'écrire

Barre de recherche          DicoCulture              Index alphabétique        Références      Brèves de Maths                      

     

Programmation

 

Débutants

Programmation

PYTHON

 

Glossaire

Informatique

Glossaire

Algorithme

 

 

 

INDEX

Python

 

Programmation

Informatique

Multimédia

Ordinateur

 

Python (la base)

Glossaire

Palindrome

Les classiques

Arithmétique

Dessins

Puissances

Plus de chiffres

Trucs

Chiffres

NumPy

Lycée

 

Sommaire de cette page

>>> Calcul type calculette de la puissance d'un nombre

>>> Programme simple de calcul de la puissance

>>> Calcul de la puissance d'un nombre par récursivité

>>> Petit théorème de Fermat et instruction pow (x,y,z)

 

 

 

 PROGRAMMATION

Puissance par récursivité

 

Le calcul de la puissance d'un nombre est simple et la fonction existe dans tous les langages de programmation.

Cette page présente un exercice de familiarisation avec la méthode de calcul récursive. Comment calculer une puissance en employant cette méthode ? Comment accélérer le calcul ?

Voir absolument  Mon espace de travail en Python

 

 

Calcul type calculette de la puissance d'un nombre

Les logiciels, tout  comme les calculettes, disposent d'une fonction  de calcul direct de la puissance (xy).

Calculette de votre ordinateur

Python

Maple

 

 

Programme simple de calcul de la puissance

Sans la présence de la fonction puissance, comment calculer n à la puissance e.

On développe un algorithme qui multiple e fois  n par lui-même.

Python

 

 

Maple

 

Python avec fonction (def)

 

Maple avec procédure (proc)

 

Notez la différence entre Python et Maple concernant le contrôle des bouches.

Pyhon compte les JALONS

Il faut 11 jalons pour 10 intervalles.

En Python on écrit (0, 10) ou alors (1, 11).

Soit for i in range (0,e)

Pyhon compte les INTERVALLES

Il faut 11 jalons pour 10 intervalles.

En Maple on écrit (1, 10) ou alors (0, 9).

Soit for i from 1 to e do

Merci à Enekio

 

Point de situation

Ce qui précède constitue une révision du codage en Python ou Maple.

Voyons maintenant, comment accélérer le calcul en utilisant la récursivité.

Voir ProgrammationIndex

 

 

Calcul de la puissance d'un nombre par récursivité

 

Le principe de cet algorithme rapide repose sur le fait qu'une puissance paire comporte des carrés de n et, une puissance impaire comporte, en plus, le facteur n.

 

*    Puissance paire:     n4 =       n2 x n2

*    Puissance impaire: n5 = n x n2 x n2

 

La récursivité fonctionne de la manière suivante, par exemple pour n4:

 

Descente

*      Pour 4 (pair), le  résultat R est égal au carré du résultat de la puissance divisée par 2.

*      Pour 2 (pair), idem: R = résultat de la puissance divisé par 2, au carré.

*      Pour 1 (impair), on multiplie le résultat de la puissance inférieure par n.

*    Pour 0, le résultat vaut 1.

 

Remontée

*    Le programme a conservé les résultats intermédiaires en mémoire, et, en remontant, il remplace les résultats en attente par leur valeur:

*    Sachant que pour 0, R = 1

*    Pour 1: R = n x 1 = n

*    Pour 2: R = n2

*    Pour 4: R = (n2)2 = n4

 

 

Récursivité pour la puissance 4

 

Récursivité pour la puissance 5

 

Programme Python

 

Programme Maple

 

 

Petit théorème de Fermat et instruction pow(x,y,z)

 

Petit théorème de Fermat

Un nombre à une puissance première est égale au nombre modulo cette puissance.

 

 

Programme Python

Le programme calcule np  mod p avec l'instruction pow (x, y, z) qui retourne xy mod z.

 

 

Résulats dans tableau ci-contre

Il faut bien comprendre que le théorème offre une propriété pour les nombres p premiers (en rouge et jaune).

La réciproque n'est pas vraie: ce n'est pas parce que la propriété est vérifiée que le nombre p est premier, il peut tout aussi bien être composé.

 

 

Voir Petit théorème de Fermat

 

 

 

 

 

 

Retour

*         Python – Ce qu'il faut absolument comprendre avant de se lancer

Suite

*         Mes premiers pas en arithmétique

*         Tour d'horizon avec l'exemple des palindromes

*         Mes premiers dessins

Voir

*         Scratch – Apprendre à programmer simplement

*         Maple – Apprendre à programmer (maths)

*         Historique de l’aventure informatique

Sites

*           Pensez en Python – Allen B. Downey – 2016 – Vous y trouverez les explications détaillées avec exemples de toutes les notions exposées dans cette page

Cette page

http://villemin.gerard.free.fr/aInforma/PYTHON/Puissan.htm