31 lines
517 B
ObjectPascal
31 lines
517 B
ObjectPascal
function ffs: sequence of integer; forward;
|
|
|
|
function ffr: sequence of integer;
|
|
begin
|
|
var n := 1;
|
|
yield n;
|
|
foreach var s in ffs do
|
|
begin
|
|
n += s;
|
|
yield n;
|
|
end;
|
|
end;
|
|
|
|
function ffs: sequence of integer;
|
|
begin
|
|
yield 2;
|
|
yield 4;
|
|
var u := 5;
|
|
foreach var r in ffr do
|
|
begin
|
|
if r <= u then continue;
|
|
foreach var x in (u..r - 1) do yield x;
|
|
u := r + 1;
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
ffr.Take(10).Println;
|
|
var a := ffr.Take(40) + ffs.Take(960);
|
|
(1..1000).SequenceEqual(a.Sorted).Println;
|
|
end.
|