判斷乙個整數是否是2整數次冪三種方法

2022-09-05 10:45:15 字數 1323 閱讀 5248

#encode=utf-8

import time

print u"寫乙個方法判斷乙個數是否能被2整除"

def whole1(x):

try:

n=0x=int(x)

if x<2:

print u"不是2".format(x)

while x>1:

if x%2!=0:

print u"number不是2整次冪"

return false

x/=2.0

n+=1

print u"2的次方".format(n)

return true

except exception,e:

print u"程式出現錯誤".format(e.message)

def whole2(x):

try:

x=int(x)

result="".format(x)

if result.count("1")==1 and result[0]=="1":

print u"能被2整除".format(x)

else:

print u"不能被2整除".format(x)

except exception,e:

print u"程式出現錯誤".format(e.message)

def whole3(x):

try:

n=0x=int(x)

if x<2:

print u"不是2".format(x)

while x>1:

if x%2!=0:

print u"number不是2整次冪"

return false

x=x>>1

n+=1

print u"2的次方".format(n)

return true

except exception,e:

print u"程式出現錯誤".format(e.message)

if __name__=="__main__":

time1=time.time()

number=raw_input("輸入乙個整數: ".decode("utf-8").encode("gbk"))

print "_"*20

for i in range(1,4):

print u"第個程式執行結果: ".format(i)

eval_r("whole".format(i)+"(number)")

print "_"*20

print u"程式執行完耗時".format(time.time()-time1)

判斷乙個數是否是2的整數次冪

title iscompletepower description 判斷乙個數是否是2的整數次冪 判斷原理 2的整數次冪,都是以1開頭,其餘其餘位為0的形式 例如 8的二進位制形式為 1 0 0 0 這樣的乙個數進行 1後,所得數的各位都會和原數的各位成反碼 例如 7的二進位制形式位 0 1 1 1...

java 判斷乙個數是否是2的整數次冪

有一道演算法題是這樣的,求乙個數是否是2的整數次冪。剛開始我的演算法是這樣寫的 讓這個數每次都除以2,然後再乘以2,看這兩個數是否相等,不相等就返回false。放在迴圈裡面讓它從頭除到尾。public boolean ispower intnumber else else return true 用...

判斷乙個數是否是2的整數次冪,python實現

問題 判斷乙個數是否是2的整數次冪?分析一 判斷乙個數是否是是2的整數次冪。方法和思路也很多,其中最簡單的就是,用這個數除以2用除的商再除以2,直到最後被除數為2,證明這個數是2的整數次冪。這種思路簡單,但是略顯笨重。我們採用第二種思路。分析二 由於2這個數在計算機中是乙個比較特殊的數。計算機是以二...