關於快速冪

關於快速冪

這次學習了下快速冪,所以來總結一下

快速冪,從字面意思就知道是快速的算出冪次方

我們先看試題a^b%m(快速冪取模)

                                     

a^b%m呢,如果靠死算的話不僅慢而且就連long long也會爆掉

所以就需要靠數學來總結個簡單點的方法出來

下面是公式

                                     

這個公式一來就覺得很神奇(看不懂啊)還好,有推倒過程

                     

具體點就是

a*b=(a1*m*b1*m)+(a1*m*b2)+(a2*b1*m)+(a2*b2)

又因爲mod m

所以m的都爲0

所以最後只剩下a2*b2

所以a*b%m=a2*b2%m

又因爲a2=a%m,b2=b%m

所以最終就變爲----->a*b%m=[(a%m)*(b%m)]%m

於是便有了

                         

然而這次是真的看不懂了,咳咳)

這是這個試題的方法

代碼的話

 

試題看完了,就是真正的快速冪了

核心思想

                     

代碼的話

                         

真正的快速冪也知道了,接下來就看看怎麼讓上面的快速冪取模更快吧

             

這樣就完工了︿( ̄︶ ̄)︿

Over

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章