How to resolve the algorithm Ludic numbers step by step in the Seed7 programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Ludic numbers step by step in the Seed7 programming language
Table of Contents
Problem Statement
Ludic numbers are related to prime numbers as they are generated by a sieve quite like the Sieve of Eratosthenes is used to generate prime numbers. The first ludic number is 1. To generate succeeding ludic numbers create an array of increasing integers starting from 2. (Loop)
Show all triplets of ludic numbers < 250.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Ludic numbers step by step in the Seed7 programming language
Source code in the seed7 programming language
$ include "seed7_05.s7i";
const func set of integer: ludicNumbers (in integer: n) is func
result
var set of integer: ludicNumbers is {1};
local
var set of integer: sieve is EMPTY_SET;
var integer: ludicNumber is 0;
var integer: number is 0;
var integer: count is 0;
begin
sieve := {2 .. n};
while sieve <> EMPTY_SET do
ludicNumber := min(sieve);
incl(ludicNumbers, ludicNumber);
count := 0;
for number range sieve do
if count rem ludicNumber = 0 then
excl(sieve, number);
end if;
incr(count);
end for;
end while;
end func;
const integer: limit is 22000;
const set of integer: ludicNumbers is ludicNumbers(limit);
const proc: main is func
local
var integer: number is 0;
var integer: count is 0;
begin
write("First 25:");
for number range ludicNumbers until count = 25 do
write(" " <& number);
incr(count);
end for;
writeln;
count := 0;
for number range ludicNumbers until number > 1000 do
incr(count);
end for;
writeln("Ludics below 1000: " <& count);
write("Ludic 2000 to 2005:");
count := 0;
for number range ludicNumbers until count >= 2005 do
incr(count);
if count >= 2000 then
write(" " <& number);
end if;
end for;
writeln;
write("Triples below 250:");
for number range ludicNumbers until number > 250 do
if number + 2 in ludicNumbers and number + 6 in ludicNumbers then
write(" (" <& number <& ", " <& number + 2 <& ", " <& number + 6 <& ")");
end if;
end for;
writeln;
end func;
You may also check:How to resolve the algorithm Happy numbers step by step in the Harbour programming language
You may also check:How to resolve the algorithm Conditional structures step by step in the ALGOL 68 programming language
You may also check:How to resolve the algorithm Zumkeller numbers step by step in the Raku programming language
You may also check:How to resolve the algorithm Comma quibbling step by step in the Perl programming language
You may also check:How to resolve the algorithm Return multiple values step by step in the Forth programming language