McNuggets problem: Difference between revisions

Content added Content deleted
(→‎{{header|Perl}}: Use standard arguments, change a couple helper functions.)
(Added Algol 68)
Line 13: Line 13:
number (a number ''n'' which cannot be expressed with ''6x + 9y + 20z = n''
number (a number ''n'' which cannot be expressed with ''6x + 9y + 20z = n''
where ''x'', ''y'' and ''z'' are natural numbers).
where ''x'', ''y'' and ''z'' are natural numbers).

=={{header|ALGOL 68}}==
<lang algol68>BEGIN
# Solve the McNuggets problem: find the largest n <= 100 for which there #
# are no non-negative integers x, y, z such that 6x + 9y + 20z = n #
INT max nuggets = 100;
[ 0 : max nuggets ]BOOL sum;
FOR i FROM LWB sum TO UPB sum DO sum[ i ] := FALSE OD;
FOR x FROM 0 BY 6 TO max nuggets DO
FOR y FROM 0 BY 9 TO max nuggets DO
FOR z FROM 0 BY 20 TO max nuggets DO
INT nuggets = x + y + z;
IF nuggets <= max nuggets THEN sum[ nuggets ] := TRUE FI
OD # z #
OD # y #
OD # x # ;
# show the highest number that cannot be formed #
INT largest := -1;
FOR i FROM UPB sum BY -1 TO LWB sum WHILE largest := i; sum[ i ] DO SKIP OD;
print( ( "The largest non McNugget number is: "
, whole( largest, 0 )
, newline
)
)
END</lang>
{{out}}
<pre>
The largest non McNugget number is: 43
</pre>


=={{header|AppleScript}}==
=={{header|AppleScript}}==