快速幂

我们的计算机虽然擅长于计算,但是有些时候需要计算的数字非常之大,计算过程非常漫长之时,它也会慢下来。
例如:计算指数很大的幂函数时
假如,我需要计算2的100000000次方,先不说用那个数据类型储存。光是计算机计算就得很久。
这时候我们人就可以来帮助计算机,我们可以设计一个有利于计算方法。
这里要讲的就是【快速幂】算法。

普通算法,一个for循环。(因为数据非常之大,所以用余数来告诉看官们这计算程序没问题)

 

这是快速幂方法

 

 

快速幂:

我们算2的10次方时,用普通方法时:2x2x2x2x2x2x2x2x2x2 计算机循环十次。100次方就100次循环,1亿次方就1亿次循环,很慢。

 

快速幂则是:2的10次方吗;可以换算一下,(2^2)^5 ——>4x4x4x4x4 计算机只跑了5次,缩短了一半时间

然后继续,遇到奇数次幂时怎么办呢?先记录下来,那么就成了(4)^4x4;

——>16^2x4

——>256x4

到这里我们可以发现,所有奇次项相乘就是答案

 

好了,本次文章到此结束。还有什么不清楚的可以留言告诉我。有什么不对的也请提醒我,谢谢。——即将大二的程序员预备役

posted @ 2020-08-16 09:57  天天掉头发  阅读(203)  评论(0编辑  收藏  举报
返回顶端