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

Published on 12 May 2024 09:40 PM

How to resolve the algorithm McNuggets problem step by step in the Ada 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 Ada programming language

Source code in the ada programming language

with Ada.Text_IO; use Ada.Text_IO;

procedure McNugget is
   Limit : constant                      := 100;
   List  : array (0 .. Limit) of Boolean := (others => False);
   N     : Integer;
begin
   for A in 0 .. Limit / 6 loop
      for B in 0 .. Limit / 9 loop
         for C in 0 .. Limit / 20 loop
            N := A * 6 + B * 9 + C * 20;
            if N <= 100 then
               List (N) := True;
            end if;
         end loop;
      end loop;
   end loop;
   for N in reverse 1 .. Limit loop
      if not List (N) then
         Put_Line ("The largest non McNugget number is:" & Integer'Image (N));
         exit;
      end if;
   end loop;
end McNugget;


  

You may also check:How to resolve the algorithm Wieferich primes step by step in the AWK programming language
You may also check:How to resolve the algorithm Generic swap step by step in the Sidef programming language
You may also check:How to resolve the algorithm Associative array/Iteration step by step in the BASIC programming language
You may also check:How to resolve the algorithm Hello world/Standard error step by step in the Pascal programming language
You may also check:How to resolve the algorithm Read a configuration file step by step in the Delphi programming language