分治算法求乘方a^b 取余p(divide and conquer)
生活随笔
收集整理的這篇文章主要介紹了
分治算法求乘方a^b 取余p(divide and conquer)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
傳統的計算方法為循環n個a相乘。時間復雜度為O(n)。
如用分治算法,效率可提升至O(lgn)。
?
結合recursive有
double pow(int a, int n){if(n==0)return 1;if(n==1)return a;double t = pow(a,n/2);return t * t * pow(a,n%2);}也可用循環的方法
double pow(int a, int n){double res = 1;while(n){if(n%2==1)res =res * a;a = a* a;n/=2; } }?
轉載于:https://www.cnblogs.com/klitech/p/5709716.html
總結
以上是生活随笔為你收集整理的分治算法求乘方a^b 取余p(divide and conquer)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kali 找回root 密码的操作步骤
- 下一篇: 深入理解php底层:php生命周期 [转