打印具有最高素数的数字

时间:2017-08-17 14:52:55

标签: python

我试图打印素数最多的数字。但它打印的是打印次数。

#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

2 个答案:

答案 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}`,