f(x) = (x^2 -1)/(x^3 -1) = (x-1)(x+1) / (x-1)(x^2+x+1) = (x+1) / (x^2+x+1)
f(1) = (1+1)/(1^2+1+1)=2/3
но лучше так
lim(x-> -1)(x^3-1)= lim(x-> 1-) ((x-1)(x+1) / (x-1)(x^2+x+1))=lim(x-> +1) / (x^2+x+1))=2/3
lim(x-> 1+)(x^2-1)(x^3-1)= lim(x-> 1+) ((x-1)(x+1) / (x-1)(x^2+x+1))=lim(x-> 1++1) / (x^2+x+1))=2/3
получаем, что x=1 - точка разрыва 1-го рода,
но так как f(1-)=f(1+) - разрыв устранимый, потому что f(x) становится непрерывной, если положить f(1)=f(1-0)=f(1+0)=2/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.
Поделитесь своими знаниями, ответьте на вопрос:
Как составить алгоритм преобразования слова "информатика" в слово "форма" ?
program n1; uses crt; var a: string; begina: ='информатика'; delete(a,1,2); delete(a,6,4); writeln(a); readlnend.