快速幂(模板)

这里看到了快速幂算法的有关推导(在此感谢~)

理解了这个算法本身之后,发现你忘了快速幂怎么打,对于noip2013 T1你也可以拿到80

所以看懂推导很重要(如果忘了,请认真看)

 

这里就mark一下模板好了(链接写的很详细,所以自己的推导就过了)

#include <cstdio>

#include <cstring>

#include <algorithm>

#include <iostream>

using namespace std;

long long ans=1;

int a,b,c; 

int main(){

	scanf("%d%d%d",&a,&b,&c);//(a^b)%c

	a%=c;

	while(b>0){

		if(b%2==1) ans=(ans*a)%c;

		b/=2;

		a=(a*a)%c;

	}

	cout<<ans;

	return 0;

}

  

你可能感兴趣的:(模板)