Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # answer is 43!
- nuggets = []
- # available sizes ordered from lowest to highest
- size = [6,9,20]
- # we know that 50 sets of McNuggets is possible
- maximumSets = 50
- # we will have to test at least maximum sets divided by lowest size
- checkUpTo = maximumSets / size[0]
- for i in range(0, checkUpTo):
- for j in range(0, checkUpTo):
- for k in range(0, checkUpTo):
- # we add all possible sizes being checked
- nuggets.append(i*size[0]+j*size[1]+k*size[2])
- # we remove duplicates and sort
- if nuggets:
- nuggets.sort()
- last = nuggets[-1]
- for i in range(len(nuggets)-2, -1, -1):
- if last == nuggets[i]:
- del nuggets[i]
- else:
- last = nuggets[i]
- # at the beginning n is lowest possible nuggets size
- n = nuggets[0]
- count = 1
- for i in range(1,len(nuggets)-1):
- # we add + 1 to counter if next number is following after current
- if n + 1 == nuggets[i]:
- count += 1
- else:
- count = 1
- n = nuggets[i]
- # if next number follows current one 6 times we got answer
- if count == 6:
- print n-6
- break
- n = nuggets[i]
Advertisement
Add Comment
Please, Sign In to add comment