python 騰訊(231)2的冪

2021-10-02 12:23:53 字數 663 閱讀 6251

分析好即可

我分析此題的關鍵在於:如果是2的冪次方,那麼在不斷的連除過程中,一直都會是整數,不會有小數。因此,判斷是否會產生小數,在除的過程中,即可判斷是否是2的次冪。

**如下:

class

solution

:def

ispoweroftwo

(self, n:

int)

->

bool

:# class solution:

# def ispoweroftwo(self, n):

if n ==0:

return

false

#如果餘1,則,如果餘

if n ==1:

return

true

while n:

n1 = n //

2 n2 = n /

2 n3 = n2 - n1

# print(n3)

if n3 !=

0.0:

return

false

n = n /

2# print(n)

if n ==

1.0:

return

true

leetcode 231(2的冪)(位運算)

q 給定乙個整數,編寫乙個函式來判斷它是否是 2 的冪次方。示例 1 輸入 1 輸出 true 解釋 20 1 運用位運算就可以很快的解出來。因為2的冪次都是1,10,100,1000,10000 所以如果是2的冪次,則n n 1 0 如下 又嘗試了一下不用位運算解這道題 class solutio...

python 快速冪演算法

計算a的b次方,需要考慮 1 b 0 的話,返回1 2 b 0的情況,設定乙個flag,用於返回資料的時候進行判斷 3 b 0的情況 打個比方 2 6 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 coding utf 8 class solution def po...

2的冪,3的冪,4的冪

給定乙個整數,編寫乙個函式來判斷它是否是 2 的冪次方。示例 1 輸入 1 輸出 true 解釋 20 1 示例 2 輸入 16 輸出 true 解釋 24 16 示例 3 輸入 218 輸出 false 分析 class solution 給定乙個整數,寫乙個函式來判斷它是否是 3 的冪次方。示例...