A voir également:
- Calcul modulo 97
- Calcul moyenne excel - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Modulo 97 ✓ - Forum Excel
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel calcul placo gratuit - Forum Logiciels
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 840
4 déc. 2008 à 21:35
4 déc. 2008 à 21:35
Salut,
Le résultat est incorrect. Le résultat est 93399.
Le C n'est pas très bon en natif pour les calculs. Pour le genre d'opérations que tu veux faire, à toi d'implémenter les algorithmes pour calculer les puissances modulaires. Il y en a de performants. D'ailleurs, il doit sûrement exister des bibliothèques prêtes à l'emploi.
Cdlt
Le résultat est incorrect. Le résultat est 93399.
Le C n'est pas très bon en natif pour les calculs. Pour le genre d'opérations que tu veux faire, à toi d'implémenter les algorithmes pour calculer les puissances modulaires. Il y en a de performants. D'ailleurs, il doit sûrement exister des bibliothèques prêtes à l'emploi.
Cdlt
Le probleme c'est que je dois utilisé la méthode "des carrées et multiplication",
J'ai reesayer avec une fonction recurssive :
int puisd(int x, int y, int z)
{
if (y==0) return 1;
if (y%2==0) return (puisd(x, y/2, z) * puisd(x, y/2, z))%z;
if (y%2==1) return (x * puisd(x, y-1, z))%z;
else return 0;
}
Fonctionne avec de petit nombre, mais sans succes avec les gros nombres : (
Je trouve 61934 avec cette fonction...
J'ai reesayer avec une fonction recurssive :
int puisd(int x, int y, int z)
{
if (y==0) return 1;
if (y%2==0) return (puisd(x, y/2, z) * puisd(x, y/2, z))%z;
if (y%2==1) return (x * puisd(x, y-1, z))%z;
else return 0;
}
Fonctionne avec de petit nombre, mais sans succes avec les gros nombres : (
Je trouve 61934 avec cette fonction...
BONJOUR
cé un probleme résolu par des algorithmes dits de l'exponentiation modulaire je te conseille de chercher sur internet sur ce terme. une nuite de multiplications et de carrés pour trouver le résultat final.
mais en pratique ce sont des grands nombres par exemple au minimum 1024 bits pour le RSA et tu dois pouvoir multiplier 2 nombres je te conseille de voir des algorithmes comme MONTGOMERY cé pratique. et tu peux utliser GMP cé pratique aussi.
bon courage
cé un probleme résolu par des algorithmes dits de l'exponentiation modulaire je te conseille de chercher sur internet sur ce terme. une nuite de multiplications et de carrés pour trouver le résultat final.
mais en pratique ce sont des grands nombres par exemple au minimum 1024 bits pour le RSA et tu dois pouvoir multiplier 2 nombres je te conseille de voir des algorithmes comme MONTGOMERY cé pratique. et tu peux utliser GMP cé pratique aussi.
bon courage