1. 程式人生 > >372.超級次方

372.超級次方

你的任務是計算 ab 對 1337 取模,a 是一個正整數,b 是一個非常大的正整數且會以陣列形式給出。

示例 1:

輸入: a = 2, b = [3]
輸出: 8

示例 2:

輸入: a = 2, b = [1,0]
輸出: 1024

class Solution { public:     int superPow(int a, vector<int>& b) {         long long res = 1;         for (int i = 0; i < b.size(); ++i) {             res = pow(res, 10) * pow(a, b[i]) % 1337;         }         return res;     }     int pow(int x, int n) {         if (n == 0) return 1;         if (n == 1) return x % 1337;         return pow(x % 1337, n / 2) * pow(x % 1337, n - n / 2) % 1337;     } };