我试图打印素数最多的数字。但它打印的是打印次数。
#checking for the highest number
import collections
a= [11,11,11,23,37,53,37,37,2,11,23,21,17,12,17,17,17,17,19,19,11,11,33,33]
counter=collections.Counter(a)
print counter.most_common(1)
#checking the number that occurs prime times
for n in a:
times=a.count(n)
root=times**0.5
i=2
while i<= root:
if times% i != 0:
print n
i+=1
答案 0 :(得分:1)
这个怎么样:
is_prime
来自here 的
11
函数
在这种情况下,6
有6次出现是最常见的,但17
不是素数,所以它被忽略了。第二个最常见的是具有5
出现的5
。由于17
是素数,count
就是答案。
请注意,检查pop
是否为素数是在具有最大计数的元素上执行,以最小化检查。如果不是,则元素得到while True:
maximum = max(counter.items(), key=lambda x: x[1])
if is_prime(maximum[1]):
break
else:
counter.pop(maximum[0])
,然后是下一个。
对于没有模块的解决方案,您可以替换以下代码部分:
AppDelegate+SalesforceHybridSDK.m
答案 1 :(得分:0)
您可以使用理解列表使其更容易阅读
id: `${i}`,