代码之家  ›  专栏  ›  技术社区  ›  Mihai Stefanescu

继续按整数除法减半,直到x=1

  •  2
  • Mihai Stefanescu  · 技术社区  · 8 年前

    函数是取一个正整数n,并将其除以2(使用整数除法),直到达到1。输出应为该值被除法的次数。到目前为止,我的代码是

    def keep_halving(x):
        i=1
        for i in range(x):
            if x//2==0:
               return i
    

    函数应如何运行的示例如下:

    >>>keep_halving(4)
    2
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   August Williams    8 年前

    n = int(input("enter number"))
    while n > 1:
        n //= 2
        print (n)
    

    输入: 128

    输出:

    enter number128
    64
    32
    16
    8
    4
    2
    1
    

    这将使用 while 循环并停止 n 达到一个。

    count = 0
    n = int(input("enter number"))
    while n > 1:
        n //= 2
        print (n)
        count +=1
    print (count)
    

    这将添加一个 count 每次 n

    输入: 128

    输出:

    enter number128
    64
    32
    16
    8
    4
    2
    1
    7