zoukankan      html  css  js  c++  java
  • 判断一个整数是否是2整数次幂三种方法

    #encode=utf-8
    import time
    print u"写一个方法判断一个数是否能被2整除"
    def whole1(x):
        try:
            n=0
            x=int(x)
            if x<2:
                print u"{0}不是2".format(x)
            while x>1:
                if x%2!=0:
                    print u"number不是2整次幂"
                    return False
                x/=2.0
                n+=1
            print u"2的{0}次方".format(n)
            return True
        except Exception,e:
            print u"程序出现错误{0[:]}".format(e.message)
     
    def whole2(x):
        try:
            x=int(x)
            result="{0:b}".format(x)
            if result.count("1")==1 and result[0]=="1":
                print u"{0}能被2整除".format(x)
            else:
                print u"{0}不能被2整除".format(x)
        except Exception,e:
            print u"程序出现错误{0[:]}".format(e.message)
     
    def whole3(x):
        try:
            n=0
            x=int(x)
            if x<2:
                print u"{0}不是2".format(x)
            while x>1:
                if x%2!=0:
                    print u"number不是2整次幂"
                    return False
                x=x>>1
                n+=1
            print u"2的{0}次方".format(n)
            return True
        except Exception,e:
            print u"程序出现错误{0[:]}".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"第{0}个程序执行结果: ".format(i)
            eval_r("whole{0}".format(i)+"(number)")
        print "_"*20
        print u"程序执行完耗时{0}".format(time.time()-time1)
  • 相关阅读:
    【POJ】[1703]Find them, Catch them
    【杭电】[2717]Catch That Cow
    【杭电】[2717]Catch That Cow
    【杭电】[1716]排列2
    【杭电】[1716]排列2
    【杭电】[2084]数塔
    【杭电】[2084]数塔
    【杭电】[1003]Max Sum
    【杭电】[1003]Max Sum
    [leetcode]117. Populating Next Right Pointers in Each NodeII用next填充同层相邻节点
  • 原文地址:https://www.cnblogs.com/zhangtebie/p/11185907.html
Copyright © 2011-2022 走看看