At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
6a + 9b + 20c = n. Problem 1. Show that it is possible to buy exactly 50, 51, 52, 53, 54, and 55 McNuggets, by finding solutions to the Diophantine equation. You can solve this in your head, using paper and pencil, or writing a program. However you chose to solve this problem, list the combinations of 6, 9 and 20 packs of McNuggets you need to buy in order to get each of the exact amounts.
n is the number of nuggets
a b c ?
the different combinations of packets of nuggets you can buy (packet a has 6, b has 9 c has 20)
so a b c are no of packets bought of each type?
u can find the maximum number of packets bought for each type? say for 51 the max number of packets is 51/6
brute force method use three for loops to the combination now that u kno the limits of every type
ok that makes sense, but how would I create a program that lists every single combination
and what was your reasoning behind wanting to figure out the maximum number of packets? it wouldnt occur to me... i was just trying to program every combination into the code
@kd1510 the reasoning behind wanting to know the maximum number of each size is so you know what numbers each of your for loops should traverse. totals = (50, 51, 52, 53, 54, 55) for total in totals: # find the max a where b and c are zero maxA = total/6 # find the max b where a and c are zero maxB = total/9 # find the max c where a and b are zero maxC = total/20 # preset a variable to indicate if we were able to solve solutionPossible = False # Loop through all possible combinations for i in range(0, maxA): for j in range(0, maxB): for k in range(0, maxC): if (i*6 + j*9 + k*20 == total): print str(total) + " solved: a=" + str(i) +" b=" + str(j) + " c=" + str(k) solutionPossible = True break if (solutionPossible == False): print str(total) + " couldn't be solved" ########################################## So what you want to do (for this brute force method that is), is: Find the maximum number of each of the packets there could possibly be (because you don't want or need to loop more than that). Then, loop through all the possibilities. You want to check from zero (because there might have been zero of that packet) all the way up to the max, for every combination.