286.超级次方

你的任务是计算 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;
    }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 10,542评论 0 18
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,718评论 0 2
  • 来到秦淮岸边,雨势已然止焉。 收折手中花伞,锻炼兼顾赏玩。 眼前尽现绿帘,远眺满幕云峦。 河水泛泛涨满,柳丝缕缕笼...
    相逢萍水阅读 1,911评论 3 3
  • -安卓打包 参考这两篇http://www.jianshu.com/p/1cff76e20edehttp://ww...
    以德扶人阅读 4,790评论 0 51
  • 曾经在课堂上给同学们做过这样的一次测试:每个人把自己认为的形象画在纸上,然后选择一位自认为最熟悉的同学给自...
    钱江潮369阅读 2,865评论 0 1