五一要放假了,笔者依旧有许多空余时间,向大家介绍快速幂算法.
问题一:什么是快速幂
快速幂(Exponentiation by Squaring)是一种用于快速计算一个数的整数次幂的算法。它利用了指数的二进制表示和幂运算的特性来降低计算复杂度。
当需要计算a^b mod c时, 普通算法复杂度很明显时O(n), 一旦数据量大了,就会超时,因此,笔者向大家介绍下快速幂公式
快速幂公式的大致原理
计算机是以二进制存储数据,因为 计算机之所以以二进制存储数据,是因为在计算机内部使用的是数字电子电路,而数字电子电路最基本的状态就是两个状态之间的切换,即通电与不通电,或者高电压与低电压。这两种状态可以被看作是二进制的 1 和 0。
而我们都知道,二进制转十进制有公式(这都不知道的话真的要好好学习了).例如5==101
即 5 = 1 * 2^2 + 0 * 2^1 + 1 * 2^0。

本文介绍了快速幂算法,一种用于高效计算整数次幂的技术,通过利用二进制表示和取模操作降低计算复杂度。文章详细解释了算法原理,并给出了C++代码示例。
最低0.47元/天 解锁文章
1124

被折叠的 条评论
为什么被折叠?



