求x的n次方結果,時間優化

2021-08-28 03:34:09 字數 744 閱讀 7060

if n<0: #判斷負指數

flag=1

else:

flag=0

n=abs(n) #全設為正

i=2#從list[2]開始計算

exp=1

#前乙個陣列的指數狀態

if len(list)>=n+1: #若已經計算過,則返回

if flag:

return

1 / list[n]

return

list[n]

while true:

if exp*2==n: #若新指數狀態剛好為所求

result=list[i-1]*list[i-1]

if flag:

return

1/result

return

result

elif exp*2

#若新指數狀態小於所求,則新增新指數結果到末尾

else: #若新指數超過所求,則指數分解

result=list[i-1]*solve(list,x,n-exp)

if flag:

return

1 / result

return

result

i=i+1

exp=exp*2

x=3n=-1

list=

result=solve(list,x,n)

print(result)

快速冪求x的n次方

o logn 的時間複雜度求x的n次方,x為自然數,n為整數?如果 power 5 為奇數,result儲存當前的多餘的乙個4,並在返回結果時一併與結果相乘。2 10 2 2 2 2 2 2 2 2 2 2 4 5 4 4 4 4 4 4 4 4 4 16 2 16 2 16 16 256 如果 p...

如何求m的n次方(結果很大)

如何求出2的1024次方的準確值?可以將大數乘法進行迭代,結果儲存在陣列中。但是這樣速度極慢,這裡給出一種方法,但仍舊比python直譯器慢一些,可以繼續優化。如果將大數乘法進行迭代,那麼每次運算如果一位出現數值大於9,都需要進製,這是不必要的。源 include include include i...

求a的n次方

此題面試時常有 解答方法有以下三種 1。直接迭代求解,這個很簡單,複雜度o n 1。分治法。複雜度 logn a a n 2 a an 1 如下 intpower inta intn 3.此方法複雜度為 n的二進位制表示中最高位1的index 原理為 事先建立a的 2m m為 0,x 的表。指導找到...