【发布时间】:2018-01-31 19:37:35
【问题描述】:
我有一个问题:
给定一个数组 A。是否存在数组 A 的任何子集,如果我们对该子集的所有元素进行 AND 运算,那么输出应该是 2 的幂(例如:1、2、4、8、16 等)。
观察后我是这样尝试的:
s = list(map(int,raw_input().split()))
x = [ True for x in s if x | (x+1) == (x+1)*2]
if len(x) > 0:
print "YES"
else:
print "NO"
有人会提出除此之外的任何其他逻辑吗?
【问题讨论】:
-
一些示例 i/o 怎么样
-
似乎是一个测验问题。你可以从这里得到逻辑:stackoverflow.com/questions/35990794/…
标签: python