Компьютеры обычно не разрешают называть файлы с этими символами: " № # % ^ & | \ / ' ~
Если тебе не сложно отметь пож этот ответ лучшим
1) 15 (A-B-F-Z)
2) 17 (A-B-D-E-F-Z или A-B-D-E-G-Z)
3) 15 (A-B-F-Z)
Храним в памяти 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.
Program Task;
Uses GraphABC;
Const b = 4; r = 20 ;
d: Array [1..4, 1..2] of Integer = ((1, 0), (0, 1), (-1, 0), (0, -1));
xs: Array [1..b] of Integer = (r + r Div 2, WindowWidth - (r + r Div 2), WindowWidth - (r + r Div 2), r + r Div 2);
ys: Array [1..b] of Integer = (r + r Div 2, r + r Div 2, WindowHeight - (r + r Div 2), WindowHeight - (r + r Div 2));
Var x, y, dir: Array [1..b] of Integer;
i, j: Integer;
Begin
LockDrawing;
For i := 1 To b Do
Begin
x[i] := xs[i];
y[i] := ys[i];
dir[i] := i;
End;
While True Do
Begin
Window.Clear;
For i := 1 To b Do
Circle(x[i], y[i], r);
For i := 1 To b Do
Begin
x[i] := x[i] + d[dir[i], 1];
y[i] := y[i] + d[dir[i], 2];
End;
For i := 1 To b Do
For j := 1 To b Do
If (x[i] = xs[j]) And (y[i] = ys[j]) Then
If dir[i] < b Then
dir[i] := dir[i] + 1
Else
dir[i] := 1;
Redraw;
End;
<span>End.</span>