快速模冪

對於 a^b mod k,怎麼求解? 簡單!!!,用暴力求出a^b不就解決了?要是數據很大呢?顯然用暴力解決不了。。。 怎麼簡潔美觀的解決這個問題?? 提示:a*b mod c = (a mod c )*b mod c  

將b表示成二進制形式 b = bnbn-1…b1b0a^b mod k = a^(bnbn-1…b1b0) mod k= a^(b0*2^0)*a^(b1*2^1)*…*a(bn*2^n) mod k= c0*c1*…*cn mod k= (c0 mod k) * c1 mod k)*…*cn) mod k     (*) 當 bi爲0時, ci爲1(*)有什麼規律,怎麼編程求解?

發佈了33 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章