Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import itertools,math
- n=8
- b=100
- def isCorrect(zbior):
- sumy = set()
- for i in range(1,n+1):
- for kombi in itertools.combinations(zbior, i):
- #print kombi
- sumka = 0
- for e in kombi:
- sumka+=e
- if sumka in sumy:
- return False#there exists a duplicate sum
- sumy.add(sumka)
- return True#no duplicates
- total = 100.0/(math.factorial(b)/(math.factorial(n)*math.factorial(b-n)))
- counter = 0
- ok=False
- for z in itertools.combinations(range(1,b+1),n):
- counter+=1
- if counter%70==0:
- print (counter*total),"% \r",
- if isCorrect(z):
- print "\n",z," "
- ok=True
- break#we only need one
- if not ok:
- print "\nNone exist"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement