Rumah >pembangunan bahagian belakang >C++ >Hitung kuasa %m kuasa k

Hitung kuasa %m kuasa k

王林
王林ke hadapan
2023-09-06 20:41:111162semak imbas

Matlamat kami adalah untuk mengira k kali % m dinaikkan kepada kuasa, mengambil sebagai input asas, nilai k dan m -

Hitung kuasa %m kuasa k

Tengok gambar di atas. Adakah anda cuba mengira masalah sedemikian? Jom cuba.

Kira kuasa yang dinaikkan kepada kuasa kth, dan kemudian ambil modulo m.

Terjemahan bahasa Cina bagi

Penjelasan

ialah:

Penjelasan

Dalam masalah ini, x, k dan m diberi. Kira ${x^{x{^x{^{^.{^{^.{^{^.}}}}}}}}}}}$, ulang k kali, dan kemudian ambil modulo m.

Mari kita fahami melalui contoh.

Diketahui bahawa x = 2, k = 4, m = 6

Oleh itu, kira $2^{2^{2{^2}}}:=:4^{2{^2}}:=:16^2:=:256$ p>

Kemudian 256% 6 = 4.

Jadi, keputusan akhir ialah 4.

Kaedah

Mari bincangkan algoritma langkah demi langkah untuk mengira k kali kuasa % m.

  • Ambil nilai x, k dan m sebagai input.

  • Gunakan fungsi pow untuk mengira kuasa kuasa, dan akhirnya gunakan operator modulo untuk mendapatkan hasil akhir.

  • Cetak hasil akhir sebagai output.

Program C++ untuk mengira kuasa ke-k %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;
}

Output

Compute power of power 2 times % 3 of 5 is 2

Kerumitan

Kerumitan masa: O(k), kerana kod ini melakukan lelaran (k-1) kali.

Kerumitan Ruang: O(1) kerana kod menggunakan bilangan pembolehubah tetap untuk menyimpan nilai input dan hasil tanpa mengira saiz input.

Kesimpulan

Dalam artikel ini, kami cuba menerangkan kaedah pengkomputeran asas dinaikkan kepada kuasa k kali modulo m, di mana nilai asas, k dan m diberikan sebagai input. Saya harap artikel ini membantu anda memahami konsep ini dengan lebih baik.

Atas ialah kandungan terperinci Hitung kuasa %m kuasa k. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam