Я думаю, что в будущем компьютеры станут безвредными для людей и окружающей среды. Их вид усовершенствуется до человеческого. Они будут расти вместе с хозяином (хозяйкой), хотя и смогут трансформироваться (от 1 см до бесконечности в длину и в толщину, а также в обычный компьютер или ноутбук). Причем, если вы идЈте поздно вечером домой, и боитесь бандитов, можно будет задать программу модифицирования, например в собаку. Или, допустим, Вы не считаете удобным ходить в школу с другом-компьютером, и тогда Вы сможете превратить его в какой-либо предмет или животное. У него будут такие же интересы, как и у их владельца, с ним можно будет свободно разговаривать, ходить куда-нибудь, и т. д. Это будет не человек и не робот, это будет компьютер. Питаться он будет не человеческой едой, не электричеством, а солнечным зарядом, причЈм, если кончится энергия, он сможет на автоматике завершить заданную ему задачу.
Храним в памяти 3 последних считанных числа. Для каждой такой тройки проверяем, верно ли, что a[i] - a[i - 1] = a[i - 1] - a[i - 2] > 0. Если это так, выводим тройку, устанавливаем флажок found и выходим из цикла. Если после завершения работы цикла found = false, то тройка не найдена, нужно вывести -1.
В PascalABC.NET тип integer хранит числа до 2 с лишним миллиардов, все числа и разность чисел должны в нем поместиться.
Код (PascalABC.NET 3.4.2.1837):
begin
var values := new integer[3];
var n := readinteger;
(values[1], values[2]) := readinteger2;
var prev_diff := values[1] - values[0];
var found := false;
for var i := 3 to n do begin
values[i mod 3] := readinteger;
var diff := values[i mod 3] - values[(i - 1) mod 3];
if (diff = prev_diff) and (diff > 0) then begin
print(values[(i - 2) mod 3], values[(i - 1) mod 3], values[i mod 3]);
Храним в памяти 3 последних считанных числа. Для каждой такой тройки проверяем, верно ли, что a[i] - a[i - 1] = a[i - 1] - a[i - 2] > 0. Если это так, выводим тройку, устанавливаем флажок found и выходим из цикла. Если после завершения работы цикла found = false, то тройка не найдена, нужно вывести -1.
В PascalABC.NET тип integer хранит числа до 2 с лишним миллиардов, все числа и разность чисел должны в нем поместиться.
Код (PascalABC.NET 3.4.2.1837):
begin
var values := new integer[3];
var n := readinteger;
(values[1], values[2]) := readinteger2;
var prev_diff := values[1] - values[0];
var found := false;
for var i := 3 to n do begin
values[i mod 3] := readinteger;
var diff := values[i mod 3] - values[(i - 1) mod 3];
if (diff = prev_diff) and (diff > 0) then begin
print(values[(i - 2) mod 3], values[(i - 1) mod 3], values[i mod 3]);
found := true;
break;
end;
prev_diff := diff;
end;
if not found then print(-1);
end.