Calcul du produit de puissances

Taur33 Messages postés 85 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 20 mai 2011 - 28 janv. 2011 à 19:06
Taur33 Messages postés 85 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 20 mai 2011 - 28 janv. 2011 à 19:32
Bonsoir,
je créer une fonction pour calculer la factorielle d'un nombre entier
Pour cela j'utilise sa décomposition en facteurs premiers comme par exemple avec 100!=
2^97 * 3^48 * 5^24 * 7^16 * 11^9 * 13^7 * 17^5 * 19^5 * 23^4 * 29^3 * 31^3 * 37^2 * 41^2 * 43^2 * 47^2 * 53^1 * 59^1 * 61^1 * 67^1 * 71^1 * 73^1 * 79^1 * 83^1 * 89^1 * 97^1

Je cherche un moyen de réduire le nombre de multiplication dans mon exemple(mais aussi en général)

Je connais la methode pour a^7*b^5*c^3 qui donne ((a*b)^2*a*c)^2*a*b*c soit 8 multiplications au lieu de 7+5+3+2=17 multiplications.
Il faudrait à mon avis créer une procédure qui transforme a^7*b^5*c^3 en ((a*b)^2*a*c)^2*a*b*c mais je ne vois pas comment procéder.

Si quelqu'un connait une méthode ?
Merci d'avance.

7 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 janv. 2011 à 19:15
Bonjour,

factorielle de 100, hein ? (100!) ?
et en vb.net ?
T'es certain de ne pas être un peu (beaucoup) sur une autre planète, toi ?
Tu as une petite idée du résultat que cela donnerait ?


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Taur33 Messages postés 85 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 20 mai 2011
28 janv. 2011 à 19:20
oui :
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 janv. 2011 à 19:24
et tu mets ce résultat (que je n'ai pas vérifié) dans une variable de quel type ?


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Taur33 Messages postés 85 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 20 mai 2011
28 janv. 2011 à 19:25
mais ma question n'est pas sur le résultat de factorielle mais sur le moyen de réduire le nombre de multiplications
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Taur33 Messages postés 85 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 20 mai 2011
28 janv. 2011 à 19:26
dans un string bien sur
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 janv. 2011 à 19:26
mais ma question n'est pas sur le résultat de factorielle mais sur le moyen de réduire le nombre de multiplications


Cà, ce serait à la rigueur une question d'algèbre et non (ce forum) de développement informatique
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Taur33 Messages postés 85 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 20 mai 2011
28 janv. 2011 à 19:32
En effet mais il me faut coder la transformation de a^7*b^5*c^3 en ((a*b)^2*a*c)^2*a*b*c et de plus meme si c'est mathématique il y a un algorithme derrière.
Mais bon si tu connais un site de math qui pourrais répondre à ma question
0
Rejoignez-nous