基本信息
源码名称:快速幂算法(binary-power.c)
源码大小:1.78KB
文件格式:.c
开发语言:C/C++
更新时间:2021-03-08
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
math函数库中的pow函数效率低,如代码所展示的多种幂运算算法,可显著降低时间复杂度,提高运行效率

快速幂算法,递归与循环

int main()
{
    unsigned long long qick_pow1(unsigned long long a, unsigned long long n, unsigned long long p);
    unsigned long long qick_pow2(unsigned long long a, unsigned long long n, unsigned long long p);
    unsigned long long qick_pow3(unsigned long long a, unsigned long long n, unsigned long long p);
    unsigned long long a, n, p;
    scanf("%llu %llu %llu", &a, &n, &p);
    printf("%llu\n", qick_pow1(a, n, p));
    printf("%llu\n", qick_pow2(a, n, p));
    printf("%llu\n", qick_pow3(a, n, p));
    printf("%llu\n", (unsigned long long)pow(a, n) % p);
}