How to resolve the algorithm McNuggets problem step by step in the ALGOL 68 programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm McNuggets problem step by step in the ALGOL 68 programming language

Table of Contents

Problem Statement

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).

Let's start with the solution:

Step by Step solution about How to resolve the algorithm McNuggets problem step by step in the ALGOL 68 programming language

Source code in the algol programming language

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 x BY 9 TO max nuggets DO
            FOR z FROM y BY 20 TO max nuggets DO
                sum[ z ] := TRUE
            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 sum[ largest := i ] DO SKIP OD;
    print( ( "The largest non McNugget number is: "
           , whole( largest, 0 )
           , newline
           )
         )
END

  

You may also check:How to resolve the algorithm Terminal control/Coloured text step by step in the PowerShell programming language
You may also check:How to resolve the algorithm Command-line arguments step by step in the Objective-C programming language
You may also check:How to resolve the algorithm Munching squares step by step in the Scala programming language
You may also check:How to resolve the algorithm Fairshare between two and more step by step in the C++ programming language
You may also check:How to resolve the algorithm First perfect square in base n with n unique digits step by step in the Quackery programming language