快速幂算法

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

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


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!

相关文章
|
6月前
|
算法
|
6月前
|
人工智能 Kubernetes 算法
算法常见技巧 -快速幂及其相关应用
算法常见技巧 -快速幂及其相关应用
|
算法
快速幂算法
快速幂算法
101 0
|
算法 Python
快速幂算法的实现
快速幂算法的实现
快速幂算法的实现
|
机器学习/深度学习 算法 JavaScript
【算法日记】快速幂:关于我知道答案却做不出来这档事
LeetCode第330场周赛,直接卡在了第二题😭,掉大分,学到一手快速幂。本文包含以下内容:快速幂,快速幂取余。
169 0
|
算法
算法题每日一练---第60天:快速幂
快速幂是一种简单而有效的小算法。
180 15
算法题每日一练---第60天:快速幂
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
|
算法
算法笔记学习---快速幂
算法笔记学习---快速幂
5688 0
|
算法 C语言
快速幂算法(数学)
快速幂算法(数学)
|
1月前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
下一篇
无影云桌面