Python經典算法-快速冪


快速冪

問題描述:
計算a ** n % b 其中a、b和n都是32位的非負整數
即求a的n次方對b的余數
問題示例:
例如:2**31%3=2


代碼實現如下

class Solution:
    def fastPower(self, a, b, n):
        ans = 1
        while n > 0:
            if n % 2 == 1:
                ans = ans * a % b
            a = a * a % b
            n = n / 2
        return ans % b


if __name__ == '__main__':
    solution = Solution()
    print(solution.fastPower(2, 31, 3))

實現結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM