Maison > développement back-end > C++ > Calculer la puissance %m de la puissance k

Calculer la puissance %m de la puissance k

王林
Libérer: 2023-09-06 20:41:11
avant
1186 Les gens l'ont consulté

Notre objectif est de calculer k fois %m élevé à la puissance, en prenant en entrée la base, les valeurs de k et m -

Calculer la puissance %m de la puissance k

Regardez la photo ci-dessus. Avez-vous essayé de calculer un tel problème ? Essayons.

Calculez la puissance élevée à la kième puissance, puis prenez le modulo m.

La traduction chinoise de

Explication

est :

Explication

Dans ce problème, x, k et m sont donnés. Calculez ${x^{x{^x{^{^.{^{^.{^{^.}}}}}}}}}}$, répétez k fois, puis prenez modulo m.

Comprenons-le à travers un exemple.

On sait que x = 2, k = 4, m = 6

Par conséquent, calculez $2^{2^{2{^2}}} :=:4^{2{^2}} :=:16^2:=:256$ p>

Puis 256% 6 = 4.

Donc, le résultat final est 4.

Méthode

Discutons de l'algorithme étape par étape pour calculer k fois la puissance de % m.

  • Prenez les valeurs de x, k et m en entrée.

  • Utilisez la fonction pow pour calculer la puissance d'une puissance, et enfin utilisez l'opérateur modulo pour obtenir le résultat final.

  • Imprimez le résultat final en sortie.

Programme C++ pour calculer la k-ième puissance %m.

#include <iostream>
#include <cmath>
using namespace std;

int powofpow(int x, int k){
   int val = x;
   k--;
   while (k--)
      val = pow(val, x);
 
   return val;
}

int main(){
   int x = 5, k = 2, m = 3;
   int result;
   
   result =  powofpow(x, k);
   result %= m;
   
   cout << "Compute power of power " << k << " times % " << m << " of " << x << " is " << result << endl;
   
   return 0;
}
Copier après la connexion

Sortie

Compute power of power 2 times % 3 of 5 is 2
Copier après la connexion

Complexité

Complexité temporelle : O(k), puisque ce code effectue des itérations (k-1) fois.

Complexité spatiale : O(1) car le code utilise un nombre fixe de variables pour stocker les valeurs d'entrée et les résultats quelle que soit la taille de l'entrée.

Conclusion

Dans cet article, nous essayons d'expliquer la méthode de calcul de base élevée à une puissance k fois modulo m, où les valeurs de base, k et m sont données en entrées. J'espère que cet article vous a aidé à mieux comprendre ce concept.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal