Python编程之算法练习_002

Posted orcsir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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编程之算法练习_002的主要内容,如果未能解决你的问题,请参考以下文章

Python编程之算法练习_001

Python编程之算法练习_003

Python编程之数据结构与算法练习_007

Python编程之数据结构与算法练习_009

Python编程之数据结构与算法练习_010

Python编程之基础知识练习_007