本题位快速幂思想的一个简单应用:
简单来说就是,既然我们可以用快速幂的思路快速的计算一个数的n次幂,那么我们是不是也可以用相似的思想来计算一个数的*n呢? 答案是肯定的。
平时做题时要格外注意这点,注重算法原理的类比,而不是只背诵一个模板。
#include<cstdio>
#include<iostream>
using namespace std;
typedef long long ll;
int main(){
ll a,b,p,ans;
cin>>a>>b>>p;
while (b){
if (b&1) ans=(ans+a)%p;
a=(a+a)%p;
b>>=1;
}
cout<<ans;
return 0;
}