本文隶属于分类

编程语言

推荐文章

广告推荐

技术交流学习或者有任何问题欢迎加群

编程技术交流群 : 154514123 爱上编程      Java技术交流群 : 6128790  Java

标签:运算符   while   size   rand   pan   二进制中1的个数   int   !=   span   

声明:题目出自《剑指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

标签:运算符   while   size   rand   pan   二进制中1的个数   int   !=   span   

原文:https://www.cnblogs.com/orcsir/p/8675501.html

技术交流学习或者有任何问题欢迎加群

编程技术交流群 : 154514123 爱上编程      Java技术交流群 : 6128790  Java

广告推荐

讨论区