zoukankan      html  css  js  c++  java
  • 372 Super Pow 超级次方

    你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出。
    示例 1:
    a = 2
    b = [3]
    结果: 8
    示例 2:
    a = 2
    b = [1,0]
    结果: 1024
    详见:https://leetcode.com/problems/super-pow/description/

    C++:

    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;
        }
    };
    

     参考:https://www.cnblogs.com/grandyang/p/5651982.html

  • 相关阅读:
    HDU5914
    HDU1087(dp)
    HDU1711(KMP)
    HDU1251(字典树)
    HDU3068(Manacher算法)
    POJ2187(旋转卡壳)
    HDU1392(凸包)
    CodeForces 722B
    CodeForces 722A
    CodeForces 721B
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8848125.html
Copyright © 2011-2022 走看看