檢測乙個整數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 進一步 ...