快速幂
求 A^B 的最后三位数表示的整数
输入格式
- 输入数据包含多个测试实例
- 每个实例占一行,由两个正整数A和B组成(1 ≤ A,B ≤ 10000)
- 如果A=0且B=0,则表示输入结束,不做处理
输出格式
- 对于每个测试实例,输出A^B的最后三位表示的整数
- 每个输出占一行
输入输出示例
| 输入样例 | 输出样例 |
|---|---|
| 2 3 | 8 |
| 12 6 | 984 |
| 6789 10000 | 1 |
| 0 0 | (无输出) |
算法讲解 :
- 对于
123^(234). 我们可以优化成(123^2)^117, 再进一步优化成((123^2) * 123 )^116 - 同理往下, 我们可以发现, 我们的
计算量由次幂来控制, 同时我们可以根据就性质来操作次幂的优化 3. 对于奇数 我们只需要拆成ans = ans * a的形式 4. 对于偶数 我们只需要拆成a = a * a的形式
|
|