關於快速冪
這次學習了下快速冪,所以來總結一下
快速冪,從字面意思就知道是快速的算出冪次方
我們先看試題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