【数论入门】快速幂
沒錯這個blog存在的目的就是摸魚(誒干嘛摸我自己???)
去年這個時候?qū)W的算法也po上來吧 cuz我全忘光了
數(shù)學原理是這樣的:
比如a的b次冪
我們可以將b化成幾個2的幾次冪相加的形式,這樣時間復雜度就降到log級了。
說道2的幾次冪,是不是想到了二進制?沒錯,具體代碼操作就是二進制的方法。
int ksm(int a, int b, int c, int d) {c = a, d = 1;while(b){if(b % 2) d*=c;c*=c;b/=2;}return d; }c是每次a的2的第幾次冪的那個數(shù),d是結(jié)果,負責把余數(shù)為1時c的那個數(shù)乘起來。
不會發(fā)數(shù)學符號嚶嚶嚶 寫的太難看了還好這個簡單
總結(jié)
- 上一篇: OpenDrive格式高精度地图详细解析
- 下一篇: Eclipse语言包在官网下载不了-解决