Content

求 \(a^b\) 的末三位。

数据范围:\(1\leqslant a\leqslant 100\),\(1\leqslant b\leqslant 10^4\)。

Solution

先讲一个性质:\(a^b\bmod1000\) 再补下前导 \(0\) 得出来的就是 \(a^b\) 的末三位。

所以说直接暴力算出来?确实也可行,直接循环,一边循环一边模,最后补齐了 \(0\) 输出即可。

那么想到幂的模还可以想到什么?没错!快速幂可以解决这个问题。如果没学过快速幂的可以前往P1226快速幂模板题的题解中更好地理解快速幂。这里主要放上来的是快速幂的代码。

Code

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <iostream>
using namespace std; long long n, p;
long long quickPow(long long a, long long b, long long k) {
if(k == 1) return 0;
long long ans = 1;
while(b) {
if(b & 1) ans = ans * a % k;
a = a * a % k;
b >>= 1;
}
return ans;
} int main() {
scanf("%lld%lld", &n, &p);
return printf("%03lld", quickPow(n, p, 1000)), 0; //还记得 "%03lld" 是什么意思吗?不知道的可以前往我的 B2001 的题解查看。
}

最新文章

  1. 学习ASP.NET 5和MVC6
  2. Linux 发行版本及其基于
  3. Oracle 操作 - 配置
  4. Linux驱动设计—— 部分系统调用函数原型
  5. QQ登入(4)QQ分享-内容转载
  6. Visual C++ 开发心得与调试技巧
  7. 点评VHDL语言
  8. 使用Spring简化JDBC操作数据库
  9. Lucky and Good Months by Gregorian Calendar(模拟)
  10. HDU ACM 2845 Beans-&amp;gt;动态规划
  11. 恢复SQLSERVER被误删除的数据
  12. HTML5-WebSocket-初探
  13. python unitest基本
  14. fastcgi的介绍,原理及配置
  15. 【IP限制】验证是否限制了境外IP访问权限
  16. C/C++内存布局及对齐
  17. 286万QPS!腾讯云TDSQL打造数据库领域的“超音速战机”
  18. qt sleep
  19. ssh很慢的问题转子
  20. Java中的RASP实现

热门文章

  1. 宝藏好物gRPCurl
  2. 洛谷 P3721 - [AH2017/HNOI2017]单旋(LCT)
  3. Codeforces 639E - Bear and Paradox(二分+贪心)
  4. Codeforces 1188D - Make Equal(dp)
  5. 『学了就忘』Linux文件系统管理 — 61、使用parted命令进行分区
  6. 在Linux下搭建nRF51822的开发烧写环境(makefile版)
  7. Flink(九)【Flink的重启策略】
  8. 2019广东工业大学新生杯决赛 I-迷途的怪物
  9. 链式栈——Java实现
  10. mysqldump冷备份