快速幂算法

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

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


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!

目录
打赏
0
0
0
2
8
分享
相关文章
快速幂算法
快速幂算法
130 0
【算法日记】快速幂:关于我知道答案却做不出来这档事
LeetCode第330场周赛,直接卡在了第二题😭,掉大分,学到一手快速幂。本文包含以下内容:快速幂,快速幂取余。
214 0
算法题每日一练---第60天:快速幂
快速幂是一种简单而有效的小算法。
199 15
算法题每日一练---第60天:快速幂
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
[解题报告]《算法零基础100讲》(第15讲) 二分快速幂
算法笔记学习---快速幂
算法笔记学习---快速幂
5708 0
基于免疫算法的最优物流仓储点选址方案MATLAB仿真
本程序基于免疫算法实现物流仓储点选址优化,并通过MATLAB 2022A仿真展示结果。核心代码包括收敛曲线绘制、最优派送路线规划及可视化。算法模拟生物免疫系统,通过多样性生成、亲和力评价、选择、克隆、变异和抑制机制,高效搜索最优解。解决了物流仓储点选址这一复杂多目标优化问题,显著提升物流效率与服务质量。附完整无水印运行结果图示。
基于免疫算法的最优物流仓储点选址方案MATLAB仿真

热门文章

最新文章