Facebook
From Harmless Gibbon, 4 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 87
  1.  
  2. import random
  3.  
  4.  
  5. M = 1000
  6. ps = set(primes(3, M+1))
  7. #random.shuffle(ps) #järjestys voi muuttaa tulosta
  8.  
  9. toGet = set(range(6, M+2, 2))
  10.  
  11. a = []
  12.  
  13. def getBestPrime():
  14.     bestP = None
  15.     bestVal = 0
  16.     for p in ps:
  17.         v = sum(1 for x in a+[p] if x+p in toGet)
  18.         if bestP==None or v>bestVal:
  19.             bestVal = v
  20.             bestP = p
  21.     return bestP
  22.  
  23.  
  24. while len(toGet):
  25.     p = getBestPrime()
  26.     ps.remove(p)
  27.     a.append(p)
  28.     for x in a:
  29.         if x+p in toGet: toGet.remove(x+p)
  30.  
  31. print (len(a))
  32. print (sorted(a))
  33.