题目

类型:Math
image.png

解题思路

image.png

代码

  1. class Solution {
  2. int MOD = 1337;
  3. public int superPow(int a, int[] b) {
  4. return dfs(a, b, b.length - 1);
  5. }
  6. int dfs(int a, int[] b, int u) {
  7. if (u == -1) return 1;
  8. return qpow(dfs(a, b, u - 1), 10) * qpow(a, b[u]) % MOD;
  9. }
  10. int qpow(int a, int b) {
  11. int ans = 1;
  12. a %= MOD;
  13. while (b != 0) {
  14. if ((b & 1) != 0) ans = ans * a % MOD;
  15. a = a * a % MOD;
  16. b >>= 1;
  17. }
  18. return ans;
  19. }
  20. }