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

Hitung kuasa %m kuasa k

王林
Lepaskan: 2023-09-06 20:41:11
ke hadapan
1200 orang telah melayarinya

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;
}
Salin selepas log masuk

Output

Compute power of power 2 times % 3 of 5 is 2
Salin selepas log masuk

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 Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan