题目链接

https://www.acwing.com/problem/content/877/

思路

思路大概就是幂数转化为二进制,然后我们用一个变量记录累乘的结果,然后位权为1的时候我们就将ans更新即可,详情可以看我这一篇博客:https://acmer.blog.csdn.net/article/details/122280910

代码

#include <bits/stdc++.h>
using namespace std;
#define ll long longint n;
ll a,b,p;ll ksm(ll a,ll b,ll p){ll ans = 1LL;while(b) {if(b & 1) ans = (ans * a) % p;b >>= 1; a = (a * a) % p;}return ans;
}int main()
{scanf("%d",&n);while(n--){scanf("%lld %lld %lld",&a,&b,&p);printf("%lld\n",ksm(a,b,p));}return 0;
}

AcWing 875. 快速幂相关推荐

  1. AcWing 876. 快速幂求逆元

    题目链接 https://www.acwing.com/problem/content/878/ 思路 通过费马小定理可以计算当a和p互质的情况,由于题目说明了p一定是质数,那么我们只用关系a是否是p ...

  2. ACM入门之【快速幂】

    快速幂模板 typedef long long int LL; LL quick_mi(LL a,LL b,LL p) {LL sum=1;while(b){if(b&1) sum=sum*a ...

  3. 算法提高课-数学知识-矩阵乘法-AcWing 1303. 斐波那契前 n 项和:矩阵乘法,快速幂,线性代数

    题目分析 来源:acwing 分析: 先利用矩阵运算的性质将通项公式变成幂次形式,然后用快速幂的方法求解第 n项. 斐波那契数列的递推公式:f1=f2=1,fn=fn−2+fn−1(n≥3)f_1 = ...

  4. 《算法竞赛进阶指南》打卡-基本算法-AcWing 97. 约数之和:递归、快速幂

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 快速幂参考笔者的这篇博文: 算法刷题-数论-组合数.快速幂.逆元.递推求组合数.逆元求组合数 约数之和参考笔者的这篇博文: 算法刷题 ...

  5. 《算法竞赛进阶指南》打卡-基本算法-AcWing 89. a^b:位运算、快速幂

    文章目录 题目解答 题目链接 题目解答 分析:快速幂的时间复杂度O(logn)O(logn)O(logn) 快速幂其实就是拆分,把一个大的乘方拆分成多个小的乘方,然后累乘. 下面用到long long ...

  6. acwing 206 石头游戏 矩阵快速幂

    题目地址 构建1维数组f(num(i,j)) -> 表示第num(i,j) =((i-1)*m + j)位的石头有多少个.(i,j)表示一个位置 可以知道f的长度为n*m+1.令f[0] = 1 ...

  7. AcWing 1289. 序列的第k个数(快速幂 等差、等比数列的性质)

    BSNY 在学等差数列和等比数列,当已知前三项时,就可以知道是等差数列还是等比数列. 现在给你 整数 序列的前三项,这个序列要么是等差序列,要么是等比序列,你能求出第 k 项的值吗. 如果第 k 项的 ...

  8. 【数学专题】 筛质数、分解质因数和快速幂

    筛质数 质数筛法分为埃氏筛和线性筛. 埃氏筛没有线性筛时间复杂度好,不常用,但是他的时间复杂度分析方法却比较常用. 埃氏筛的时间复杂度为O(nloglogn)≈O(n)O(nloglogn)≈O(n) ...

  9. 矩阵快速幂(矩阵加速)

    //南昌理工ACM集训队 放心食用 矩阵加速 快速幂(前置技能) 矩阵快速幂 可乐 附个模板 最后小结 本人小白如有不对欢迎指正ლ(╹◡╹ლ) 矩阵加速 快速幂(前置技能) 对于普通的求a的b次方,一 ...

最新文章

  1. [Machine Learning with Python] Data Visualization by Matplotlib Library
  2. mysql 获取server信息_MySQL 获取服务器元数据
  3. linux shell declare命令 声明shell变量 显示shell函数
  4. js php滚动图代码,JavaScript_JS实现的N多简单无缝滚动代码(包含图文效果),本文实例讲述了JS实现的N多简 - phpStudy...
  5. 控制器view生命周期
  6. 跨站点请求伪造(CSRF)总结和防御
  7. Java进阶之深入理解JVM类加载机制
  8. c mssql mysql_mssql与mysql 数据迁移
  9. 醍醐灌顶 | 我们谈论的Exactly once到底是什么?
  10. 安川机器人程序还原_安川机器人 程序示例
  11. 《图解算法》学习笔记之递归
  12. VS2013 Codejock 实现 MFC 换肤
  13. eclipse写代码比jcreator好用多了
  14. 车牌定位html5,车牌识别(一)——车牌定位(附详细代码及注释)
  15. mysql数据库解锁
  16. vue实现li列表的新增删除和修改
  17. 影响内存频率的几个因素
  18. MATLAB 与 音频处理 相关内容摘记
  19. 移动安全办公的难点在哪?
  20. 安卓修改服务器数据库,安卓端使用服务器端数据库

热门文章

  1. matplotlib fontdict 字体设置
  2. 小程序之支付(前端)
  3. 多表查询, 聚集查询和分组查询
  4. Keepalived实战(3)
  5. 【转】关于python中re模块split方法的使用
  6. FreeCAD项目编译记录(1)
  7. linux下shell程序(一)
  8. 6. 分类图显示和保存
  9. 简单的Oracle触发器使用
  10. [原]pomelo开发环境搭建