快速幂算法

简介: 什么是快速幂呢?就是更快速的计算幂运算。

什么是快速幂呢?就是更快速的计算幂运算。


image.png

875. 快速幂 - AcWing题库

image.png

快速幂的作用就是跟题目中描述的一样

image.png

先预处理出这些值

image.png

比如

image.png

求k的个位

k&1

删除k的个位

k>>=1

image.png

#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
LL qmi(int a, int b, int p)
{
    LL res = 1;
    while (b)
    {
        if (b & 1) res = res * a % p;//b的个位如果是1
        a = a * (LL)a % p;
        b >>=1;//也可以写成b/=2
    }
    return res;
}
int main()
{
    int n;
    scanf("%d", &n);
    while (n -- )
    {
        int a, b, p;
        scanf("%d%d%d", &a, &b, &p);
        printf("%lld\n", qmi(a, b, p));
    }
    return 0;
}

在实际问题中的应用

神秘钥匙 (nowcoder.com)


6.2.png6.2.png

6.2.png

结果题目要求对1e9+7取模

6.2.png

Code over!

相关文章
|
人工智能 Kubernetes 算法
算法常见技巧 -快速幂及其相关应用
算法常见技巧 -快速幂及其相关应用
|
算法 Python
快速幂算法的实现
快速幂算法的实现
快速幂算法的实现
|
算法
算法题每日一练---第60天:快速幂
快速幂是一种简单而有效的小算法。
322 15
算法题每日一练---第60天:快速幂
|
算法
快速幂算法
快速幂算法
441 0
|
机器学习/深度学习 算法 JavaScript
【算法日记】快速幂:关于我知道答案却做不出来这档事
LeetCode第330场周赛,直接卡在了第二题😭,掉大分,学到一手快速幂。本文包含以下内容:快速幂,快速幂取余。
367 0
|
算法
算法笔记学习---快速幂
算法笔记学习---快速幂
5885 0
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
|
算法 C语言
快速幂算法(数学)
快速幂算法(数学)
|
4月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
444 0