Pangkat Cepat (modular)
Hitung anmodm untuk 0≤a≤109, 0≤n≤109, 1≤m≤106.
Mengalikan a sebanyak n kali terlalu lambat. Gunakan ide divide and conquer: an=(an/2)2, sehingga hanya butuh O(logn) perkalian. Ambil mod setelah setiap perkalian agar angkanya tetap kecil (di bawah 1012, masih aman untuk number JavaScript).
power(2, 10, 1000) → 24 // 1024 mod 1000 Topik
rekursidivide and conquermatematika
Petunjuk 1
Mengalikan a sebanyak n kali butuh O(n), terlalu lambat untuk n = 10⁹.
Petunjuk 2
aⁿ = (a^(n/2))² jika n genap, dan a · aⁿ⁻¹ jika n ganjil. Jangan lupa ambil mod di setiap perkalian.
· draft tersimpan otomatis
Nilai ditulis sebagai JSON. Output yang diharapkan dihitung dari solusi referensi.
Ctrl+Enter jalankan · Ctrl+Shift+Enter kirim