Предмет: Информатика,
автор: timurbl
Требуется найти n-ый член последовательности типа 1121123211234321 Ограничение по времени: 5 сек Ограничение n<10^500 000
Ответы
Автор ответа:
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.
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.
Похожие вопросы
Предмет: Информатика,
автор: hayalahasanbekova
Предмет: История,
автор: latypovakamillaa
Предмет: Другие предметы,
автор: bodgulya123aa6529591
Предмет: Обществознание,
автор: sashasvishchuova
Предмет: Алгебра,
автор: вика05112002