【题目链接】

ybt 1326:【例7.5】 取余运算(mod)

【题目考点】

1. 快速幂

【解题思路】

快速幂算法,用到了分治思想。

  • 如果指数为奇数,那么结果乘以当前的底数,指数除以2(整除运算)。
  • 如果指数为偶数,那么底数变为原来底数的平方,指数除以2。

快速幂算法求ana^nan的平均复杂度为O(logn)O(logn)O(logn)
结果取模,相当于运算过程中对每个中间结果都做取模运算。

【题解代码】

解法1:快速幂

#include<bits/stdc++.h>
using namespace std;
typedef long long LL; //自定义long long的别名,使代码更短
//快速幂求a^b,结果对k取模
LL fastPowModk(LL a, LL b, LL k)
{LL ans = 1;while(b > 0){if(b % 2 == 1)ans = ans * a % k;a = a * a % k;b /= 2;}return ans;
}
int main()
{LL b, p, k;cin >> b >> p >> k;cout << b << '^' << p << " mod " << k << '=' << fastPowModk(b, p, k);return 0;
}

信息学奥赛一本通 1326:【例7.5】 取余运算(mod)相关推荐

  1. 信息学奥赛一本通(1326:【例7.5】 取余运算(mod))

    1326:[例7.5] 取余运算(mod) 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 10443     通过数: 4787 [题目描述] 输入b,p,k的值 ...

  2. 信息学奥赛一本通 2021:【例4.6】最大公约数

    [题目链接] ybt 2021:[例4.6]最大公约数 [题目考点] 1. while循环 2. 求最大公约数 辗转相减法 辗转相除法 [解题思路] 解法1:枚举 取较小数字,从该数字的值开始从大到小 ...

  3. 信息学奥赛一本通 1278:【例9.22】复制书稿(book) | 洛谷 P1281 书的复制

    [题目链接] ybt 1278:[例9.22]复制书稿(book) 洛谷 P1281 书的复制 [题目考点] 1. 动态规划:线性动规 [解题思路] 该题可以抽象为:将由m个数字构成的序列分成k个子段 ...

  4. 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)

    [题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...

  5. 【例1】 0/1背包《信息学奥赛一本通》【解法一】 02

    /* [例1] 0/1背包<信息学奥赛一本通>[解法一] 02 http://ybt.ssoier.cn:8088/problem_show.php?pid=1267 */ #includ ...

  6. 【例8】合唱队形(《信息学奥赛一本通第五版》)

    /* [例8]合唱队形(<信息学奥赛一本通第五版>) http://ybt.ssoier.cn:8088/problem_show.php?pid=1264 [问题描述] N位同学站成一排 ...

  7. 信息学奥赛一本通(2032:【例4.18】分解质因数)

    2032:[例4.18]分解质因数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 582     通过数: 376 [题目描述] 把一个合数分解成若干个质因数乘积 ...

  8. 信息学奥赛一本通——2062:【例1.3】电影票

    2062:[例1.3]电影票 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 57341     通过数: 34230 [题目描述] 已知一位小朋友的电影票价是10 ...

  9. 信息学奥赛一本通C++语言-----2036:【例5.3】开关门

    [题目描述] 宾馆里有n(2≤n≤1000)n(2≤n≤1000) 个房间,从1∼n1∼n 编了号.第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是22 的倍数的房间"相反处理& ...

最新文章

  1. Oracle update 多表关联更新
  2. 剔除Intellij中Mybatis的Mapper自动注入警告
  3. kali linux提示安装系统失败,kali“安装系统”失败分析及解决
  4. su 和su -的区别
  5. GetMemeory(char *p);GetMemeory(char **p);char* GetMemeory()用法!
  6. 写 Go 时如何优雅地查文档
  7. ubuntu declare
  8. [收集]Sublime Text 3常用快捷键
  9. 如何在VS2013中进行Boost单元测试
  10. 获取sessionid_蓝牙音乐AudioTrack Session ID的获取
  11. java支持闭包_JAVA 需要引入闭包吗
  12. PHP密码问题陈婷代码_登录中利用JS前端加密PHP后端解密保证数据非明文传输的安全方法...
  13. Kyligence 行业峰会成功举办,“智能数据云”引领数字化转型未来
  14. hosts文件分发其他机器
  15. vue template标签_vue为什么要求组件模板只能有一个根元素?
  16. MyBatis源码阅读(五) ---Mapper接口的获取过程
  17. vim 编辑二进制文件
  18. 串口通信工具android,串口调试工具手机版
  19. 1.20 将多行单元格进行分栏打印 [原创Excel教程]
  20. java xps文档_使用Java 将PPT转换为PDF、XPS等格式

热门文章

  1. 设置电脑某个软件不联网!
  2. 黑莓:iMessage垃圾信息多 大家来用BBM
  3. VoNR无线覆盖能力研究
  4. (转)艾宾浩斯遗忘曲线——记忆与复习
  5. jdbcTemplate.queryForList 返回值 大小写敏感的问题
  6. 深入理解java虚拟机gc_jvm GC收集器与内存分配(深入理解java虚拟机第三章)
  7. Ambiguous handler methods mapped for '/user/1'
  8. 程序设计思维与实践 week10限时模拟 A - 签到题、B - 东东转魔方
  9. Fl Studio 20.8英文切换中文正式版下载及新增功能介绍说明
  10. 栅格布局小案例——图片展览