快速幂
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef long long LL;
LL QuickMi(LL a,LL b,LL m)
{//a为底数,b为幂
if(b==0)return 1;
else if(b%2==1)
{
return a*QuickMi(a,b-1,m)%m;
}
else
{
LL temp=QuickMi(a,b/2,m)%m;
return temp*temp%m;
}
}
int main()
{
//freopen("input.in","r",stdin);
LL result=QuickMi(2,4,5);
printf("%I64d",result);//longlong型数据输出格式
}