Требуется найти n-ый член последовательности типа 1121123211234321 Ограничение по времени: 5 сек Ограничение n<10^500 000

Ответы

Ответ дал: Змей24
0
uses crt, math;

var n: extended;
var x: extended;
var s: extended;
var f: extended;
var t: extended;

begin
        { вводим значения }
        writeln('Enter n:'); readln(n);

        if n > 0 then begin

                { номер последовательности }
                x := ceil((sqrt(1.0 + 4.0 { 8.0 } * n) - 1.0) / 2.0);

                { количество элементов всех последовательностей }
                s := x + x*x;
                { s := s / 2; }

                { относительный номер элемента в последовательности }
                f := x * 2 - (s - n);

                if f <= x then begin
                        t := 1 + x - f;
                end;

                if f > x then begin
                        t := f - x;
                end;

                { выводим результат }
                writeln('t = ', t);

                { задержка }
                readln(n);
        end;
end.




Вас заинтересует