幂的快速计算

快速幂

#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型数据输出格式

}
发布了54 篇原创文章 · 获赞 1 · 访问量 525

猜你喜欢

转载自blog.csdn.net/weixin_43370733/article/details/103751135