[leetcode] 372. Super Pow

网友投稿 276 2022-11-29

[leetcode] 372. Super Pow

Description

Your task is to calculate ab mod 1337 where a is a positive integer and b is an extremely large positive integer given in the form of an array.

Example 1:

Input:

a = 2, b = [3]

Output:

8

Example 2:

Input:

a = 2, b = [1,0]

Output:

1024

分析

题目的意思是:求a的b次方。

二分法,计算结果要对1337取余。由于给定的指数b是一个一维数组的表示方法,二分法处理起来肯定十分不方便,所以采用按位来处理。比如2 的23次方 = (2的2次方)的10次方 * 2的3次方, 所以我们可以从b的最高位开始,算出个结果存入res,然后到下一位是,res的十次方再乘以a的该位次方再对1337取余

代码

class Solution {public: int superPow(int a, vector& b) { long long res=1; for(int i=0;i

参考文献

​​[LeetCode] Super Pow 超级次方​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:[leetcode] 756. Pyramid Transition Matrix
下一篇:Java程序设计之12个经典样例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~