picka69
Messages postés1Date d'inscriptionmercredi 28 mai 2008StatutMembreDernière intervention24 avril 2011
-
24 avril 2011 à 18:05
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 2019
-
25 avril 2011 à 00:59
Voici la fonction d’exponentiation modulaire rapide que j'ai faite en scilab.
Elle est en mode itératif, je n'arrive pas à faire la même fonction en mode récursif, d'autant plus qu'il n'y a pas d'opérateur & ou >> comme en langage C pour manipuler un nombre en binaire (bit-à-bit)
d'où l'utilisation de la variable tableau n!!!!
e = 13;
d = 77;
u = [1, 0, 1, 1]; // Tableau avec les données 13 en binaire
m = 9;
function [mes_signe] = ExpModRapide (a, n, m)
N= length(n)
mes_signe = 1
for i = 1 : N
if (n(i) == 1) then
mes_signe = modulo (mes_signe * a, m)
end
a = modulo((a*a),m)
end
endfunction
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 25 avril 2011 à 00:59
« Voici la fonction d'exponentiation modulaire rapide que j'ai faite en scilab »
D'abord, ici, on ne parle qu'en Pascal.
Ensuite, si tu trouves que ta fonction est trop rapide, re-écris-la en mode récursif.
Tu ne seras pas déçu et tu pourras aller boire un café à chaque appel !
_______________________________________
Soutenez Wikimédia France aujourd'hui : http://dons.wikimedia.fr