Simply the solution for four with the reverse keyword

Can't believe I forgot about it
This commit is contained in:
R. Tyler Croy 2011-03-13 20:04:54 -07:00
parent 31b9b5b91b
commit a11230372e
1 changed files with 12 additions and 17 deletions

View File

@ -49,24 +49,19 @@ procedure Four is
Highest_Palindrome : Natural := 0;
begin
for Offset in 0 .. Ceiling loop
declare
N : constant Natural := Ceiling - Offset;
begin
for Sub_Offset in 0 .. Ceiling loop
declare
J : constant Natural := Ceiling - Sub_Offset;
Product : constant Natural := J * N;
Bailout : constant Boolean := Is_Palindrome (Product);
begin
if Bailout then
if Product > Highest_Palindrome then
Highest_Palindrome := Product;
end if;
for N in reverse 1 .. Ceiling loop
for J in reverse 1 .. Ceiling loop
declare
Product : constant Natural := J * N;
Bailout : constant Boolean := Is_Palindrome (Product);
begin
if Bailout then
if Product > Highest_Palindrome then
Highest_Palindrome := Product;
end if;
end;
end loop;
end;
end if;
end;
end loop;
end loop;
New_Line;