Тогда задачи с натуральными числами не имеют смысла, т.к. в первой это будет первая последовательность, меньшая N, а во второй - просто K.
Т.е. для первой можно сделать так:
Код:
function GetNatural(AMax : Integer) : Integer;
var
I : Integer;
Buf : String;
begin
Buf := '';
For I := 1 to Min(Length(IntToStr(AMax)),9) Do
Buf := Buf + IntToStr(I);
Result := StrToInt(Buf);
end;