檢測2的冪次

2021-09-29 21:29:47 字數 684 閱讀 9446

檢測乙個整數n是否是2的冪次方。

首先判斷是不是偶數,如果是奇數,直接返回false。

class

soultion

:def

checkpowerof2

(self,n)

:if n %2!=

0:return

false

ans =

1for i in

range(31

):if ans == n :

return

true

ans = ans <<

1return

false

# 採用正向運算的方法,就相當於將2的整數以內的所有冪次方拿出來驗證

# 檢視n是不是在這個序列裡面,如果是直接返回true,函式執行結束。

# 《符號,在二進位制的基礎上將位數向左移動一位,如果沒有數,就用0補充。

if __name__ ==

'__main__'

: num =

int(

input

('請輸入數字:'))

soultion = soultion(

)print

(soultion.checkpowerof2(num)

)

2的次冪表示

include includevoid fun int n int i,j,k,l int h 0 k n j 0 while k 0 l j 1 for h l h 0 h printf d a h printf n for i l i 0 i else continue if i 1 print...

2的次冪表示

問題描述 任何乙個正整數都可以用2進製表示,例如 137的2進製表示為10001001。將這種2進製表示寫成2的次冪的和的形式,令次冪高的排在前面,可得到如下表示式 137 2 7 2 3 2 0 現在約定冪次用括號來表示,即a b表示為a b 此時,137可表示為 2 7 2 3 2 0 進一步 ...

2的次冪表示

問題描述 任何乙個正整數都可以用2進製表示,例如 137的2進製表示為10001001。將這種2進製表示寫成2的次冪的和的形式,令次冪高的排在前面,可得到如下表示式 137 2 7 2 3 2 0 現在約定冪次用括號來表示,即a b表示為a b 此時,137可表示為 2 7 2 3 2 0 進一步 ...