zoukankan      html  css  js  c++  java
  • Python编程之数据结构与算法练习_002

    声明:题目出自《剑指Offer》。算法原理请自行找书撸, 不废话。直接上Python版本代码。

    题目一:给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。

    #不应该使用递归,效率太低
    import random
    lst = random.sample(range(1,100),2)
    x,y = lst
    while y != 0:
        x,y = x^y,(x&y)<<1
    else:
        print("{} + {} = {}".format(lst[0],lst[1],x))

    题目二:计算二进制中1的个数。

    import random
    number = random.randint(1,100)
    print("number:{} binary:{} ".format(number,bin(number)))
    count = 0
    while number != 0:
        number,count = (number-1)&number, count + 1
    else:
        print(count)
  • 相关阅读:
    访问者模式
    解释器模式
    享元模式
    职责链模式
    中介者模式
    单例模式
    桥接模式
    命令模式
    迭代器模式
    Python 学习笔记15 类
  • 原文地址:https://www.cnblogs.com/orcsir/p/8675501.html
Copyright © 2011-2022 走看看