码迷,mamicode.com
首页 > 编程语言 > 详细

快速幂算法

时间:2020-10-26 10:49:22      阅读:28      评论:0      收藏:0      [点我收藏+]

标签:code   style   span   col   fas   rgb   pow   位运算   进制   

就,用二进制位运算

 1 int fastPower(int base, int exponent) {
 2     int sum = 1;
 3     while (exponent != 0) {
 4         if ((exponent & 1) != 0) {
 5             sum *= base;
 6         }
 7         exponent = expnonent >> 1;  // 对指数进行移位
 8         base *= base;               // 让base的次幂以2的倍数增长
 9     }
10     return sum;
11 }

e&1是判断那个位上是不是1的,是的话就要把base乘到sum上,然后变变base

不是的话,就光变变base就行

快速幂算法

标签:code   style   span   col   fas   rgb   pow   位运算   进制   

原文地址:https://www.cnblogs.com/zhmlzhml/p/13870796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!