• Aucun résultat trouvé

Exponentiation rapide

N/A
N/A
Protected

Academic year: 2022

Partager "Exponentiation rapide"

Copied!
1
0
0

Texte intégral

(1)

Informatique 2010-2011 : TP Maple 2 MPSI B Hoche

Exponentiation rapide

L’algorithme d’exponentiation rapidepermet de calculeraeaet esont des nombres naturels en effectuant moins (beaucoup moins !) deemultiplications.

Le premier cas est celui où l’exposanteest une puissance de 2. Pour calculer

xm=a(2m)

on peut utiliser seulementm(au lieu de 2m) multiplications en remarquant que

x0=a, xm+1=x2m

Dans le cas général, on peut utiliser la décomposition deeen base 2. Les coefficients sont 0 ou 1 et seuls les 1 "comptent" dans le calcul de la puissance

e = c0+c121+c222+· · ·+cm2m ae = ac0ac121· · ·acm2m

ae = xi1xi2...

aveci1,i2 associés aux coefficients non nuls de la décomposition

1. Mettre en oeuvre le principe précédent pour calculer ae sur un exemple en décomposant e en base 2 (par une succession d’opérations sans chercher à former un programme). Vérifier en calculant directement.

2. On modifie légèrement l’algorithme de décomposition deeen base 2 en cal- culant toutes les puissances dea dont l’exposant est une puissance de 2 et en multipliant ces nombres lorsque c’est nécessaire. Ce nouvel algorithme est présenté dans le diagramme de la figure1 que vous devez traduire dans la syntaxe Maple.

Surjectivité et injectivité

Dans tout l’exercice, n, p, Asont des variables (globales si cette notion a été traitée) qui désignent respectivement deux entiers naturels non nuls et un tableau indexé de 1 à la valeur den.

On modélise une fonctionfde{1,2,· · · , n}vers{1,2,· · · , p}à l’aide du tableau Aen associant , pour toutientre 1 etn, la valeurf(i) à la cléi.

Vous devez former le diagramme et écrire le code Maple qui permet d’exécuter les tâches précisées. Si la syntaxe des procédures a été vue en TD, définir les procédures dont le nom est indiqué au début de la question. Tester sur des exemples de votre choix.

Fig.1 – exponentiation rapide

1. est_image(x). Renvoyer vrai si x est une image de la fonction f et faux sinon.

2. nbantecedent(x)Renvoyer le nombre d’antécédents dexpour la fonctionf lorsquexest une image et renvoyer 0 sixn’est pas une image.

3. est_surjective()Renvoyer vrai sif est surjective et faux sinon.

4. est_injective()Renvoyer vrai sif est injective et faux sinon.

5. reciproque() Renvoyer un tableau Bqui, lorsque f est bijective, modélise la bijection réciproquef−1.

Cette création est mise à disposition selon le Contrat

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

1 Rémy Nicolai TP1002

Références

Documents relatifs

Soient a et b deux entiers naturels non nuls et p un nombre premier qui divise le

En raisonnant par récurrence, établir les propriétés suivantes pour tout entier n

Si les valeurs étaient deux à deux distinctes ce serait la place (clé) de cette valeur dans le tableau obtenu à partir de A en triant par ordre croissant.. On ne suppose pas ici

En classant les points de Π \ {O} suivant la droite passant par O à laquelle ils appartiennent, former une relation entre divers nombres d'éléments.. Montrer que le nombre de

La seconde fait appel à des calculs simples de coefficients binomiaux et aborde quelques notions de cours (indépendance, loi de probabilité, espérance, …) dans un cadre simple..

On considère que le volume de ces caisses est donné, égal à 1 (mètre cube). 2) Donner la surface totale de la caisse sans couvercle.. qui se passent

Pour cette question, on admet que tout entier naturel non nul peut s’écrire d’une façon unique sous la forme du produit d’une puissance de 2 par un entier impair :.. = 2 ×

Pour deux entiers naturels non nuls ܽ et ܾ, on note ݎ(ܽ, ܾ) le reste dans la division euclidienne de ܽ par ܾ.. Cet algorithme donne en sortie le PGCD des entiers naturels non nuls