Wikipedia
The McNuggets version of the coin problem was introduced by Henri Picciotto,
who included it in his algebra textbook co-authored with Anita Wah. Picciotto
thought of the application in the 1980s while dining with his son at
McDonald's, working the problem out on a napkin. A McNugget number is
the total number of McDonald's Chicken McNuggets in any number of boxes.
In the United Kingdom, the original boxes (prior to the introduction of
the Happy Meal-sized nugget boxes) were of 6, 9, and 20 nuggets.

Task

Calculate (from 0 up to a limit of 100) the largest non-McNuggets
number (a number n which cannot be expressed with 6x + 9y + 20z = n
where x, y and z are natural numbers).




defmodule Mcnugget do
  def solve(limit) do
    0..limit
    |> MapSet.new()
    |> MapSet.difference(
      for(
        x <- 0..limit,
        y <- 0..limit,
        z <- 0..limit,
        Integer.mod(x, 6) == 0,
        Integer.mod(y, 9) == 0,
        Integer.mod(z, 20) == 0,
        x + y + z <= limit,
        into: MapSet.new(),
        do: x + y + z
      )
    )
    |> Enum.max()
  end
end
 
Mcnugget.solve(100) |> IO.puts
 