P1226快速幂||取余运算
一.题目描述:
二.解题思路:
简单快速幂和取余运算
三.代码实现:
1 #include "bits/stdc++.h" 2 using namespace std; 3 int main() 4 { 5 long long int a,b,p; 6 long long int ans = 1; 7 cin >> a >> b >> p; 8 cout << a << "^" << b << " " << "mod" << " " << p <<"="; 9 long long int base = a; 10 while(b) 11 { 12 if(b & 1) 13 { 14 ans *= base; 15 ans %= p; 16 } 17 base *= base; 18 base = base % p;// 19 b = b >> 1; 20 } 21 if(p == 0) 22 cout << 0; 23 else 24 cout << ans % p;//ans=ans%p; 来处理当p=0而b=1 25 return 0; 26 }
本文来自博客园,作者:{scanner},转载请注明原文链接:{https://home.cnblogs.com/u/scannerkk/}