数论, 一篇博客带你初识快速幂,已经为什么需要快速幂

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

五一要放假了,笔者依旧有许多空余时间,向大家介绍快速幂算法.

问题一:什么是快速幂

快速幂(Exponentiation by Squaring)是一种用于快速计算一个数的整数次幂的算法。它利用了指数的二进制表示和幂运算的特性来降低计算复杂度。

当需要计算a^b mod c时, 普通算法复杂度很明显时O(n), 一旦数据量大了,就会超时,因此,笔者向大家介绍下快速幂公式

快速幂公式的大致原理

计算机是以二进制存储数据,因为   计算机之所以以二进制存储数据,是因为在计算机内部使用的是数字电子电路,而数字电子电路最基本的状态就是两个状态之间的切换,即通电与不通电,或者高电压与低电压。这两种状态可以被看作是二进制的 1 和 0。

而我们都知道,二进制转十进制有公式(这都不知道的话真的要好好学习了).例如5==101

                                                即  5 = 1 * 2^2 + 0 * 2^1 + 1 * 2^0。

         

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值