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

Luska1367 Luska1367    3   15.09.2019 05:20    1

Ответы
artemtik2005 artemtik2005  07.10.2020 16:14
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика