Menu
快讀
  • 旅遊
  • 生活
    • 美食
    • 寵物
    • 養生
    • 親子
  • 娛樂
    • 動漫
  • 時尚
  • 社會
  • 探索
  • 故事
  • 科技
  • 軍事
  • 国际
快讀

Python計算 1的9999999次方,不到1s就得出答案!是如何處理的?

2021 年 3 月 11 日 我是焱垚

問題引發

網友計算1的9999999次方,不到1s就得出答案。那python是如何處理的?

>>> a=1 >>> i=a**9999999 >>> print(i) 1 Python計算 1的9999999次方,不到1s就得出答案!是如何處理的?

問題解答

求解形如a^n的值,可以使用快速冪算法,只需要O(logn)次乘法運算。每次乘法運算的時間是與數的位數的平方成正比。

計算1^n無需考慮乘法運算的時間,所以總共只需要O(logn)的時間,幾乎不需要時間。

而計算2^n需要考慮乘法運算的時間,數的位數是O(n)級別的,所以總共需要O(n^2logn)的時間。不過實際每次乘法的時候數的位數要比n小很多,所以實際運行時間還是比較快的。

相關文章:

  • 半導體材料行業深度研究:晶圓廠迎擴産潮,大國利劍國産替代前景
  • 中國遊客爆料:在新加坡酒店被吵到一晚上沒睡著,還罰款1000多新!
  • 導致孩子感統失調的“六大殺手”(上)
  • 十二條非常有趣的宇宙冷知識,你知道嗎?
  • 中國 VS 新加坡網店奇葩商品曝光,哈哈哈哈哈哈哈哈!
  • 資訊 | 美股漲跌不一, 道指微幅收高。
財經

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

©2025 快讀 | 服務協議 | DMCA | 聯繫我們