//PacalABC.NET 3.4.2
//Используется формула аналогичная формуле Бине для чисел
//Фибоначчи
const
index = power(33, 0.5);
a1 = power((19 + 3 * index), 1 / 3);
a2 = power((19 - 3 * index), 1 / 3);
b = power((586 + 102 * index), 1 / 3);
var
n, i: smallint;
x: uint64;
function tribonacthi(n: smallint): biginteger;
begin
if (n = 1) or (n = 2) then result := 0
else
result := RoundBigInteger(3 * b * ((power((1 / 3 * (a1 + a2 + 1)), n - 1)) / (power(b, 2) - 2 * b + 4)));
end;
begin
try
n := readinteger('Введите n:');
x := readinteger('Введите x:');
except
on system.formatexception do
begin
writeln('Неверный формат ввода');
exit;
end;
end;
writeln('1)', tribonacthi(n), ' ');
write('2)');
i := 1;
while (tribonacthi(i) < x) do
begin
write(tribonacthi(i), ' ');
i += 1;
end;
end.
схема и объяснение снизу
program ufhcn;
var x, y, a, i, b: real;
uses crt;
begin
clrscr;
writeln('вводи число 1');
readln(i);
writeln('вводи число 2');
readln(x);
if (x> =0) then writeln('все в порядке')
else writeln('не правильная цифра');
if (i> =1) and (i< =13)
then writeln('число входит в ряд', x*i> =a)
else writeln('не входит ряд');
writeln('води число 3');
readln(a);
if (a> =0) then writeln('вводи число 4');
readln(b);
if (b> =0) then writeln('находим первый y= ', a*x*(i*i*i)+b*sqrt(x*i));
if (b< 0) then writeln('находим второй y= ', (sin(x)/cos(x))*(a-(x*
end.
начало
вводим переменную i
вводим переменную x
если x> =0 то
если нет если да
то нет. то далее
ввели интервал в переменную i
если (i> =1) и (i< =12) то
если нет. если да
то нет решения. то есть решение
вводим число 3
если (а> =0) то
вводим число 4
если (b> =0) то
y1= a*x*(i*i*i)+b*sqrt(x*i))
если (b< 0) то
y2= ', (sin(x)/cos(x))*(a-(x*
конец
короче объясняю.
ввёл 4 переменных
сделал так чтобы все вводимые были больше нули или равны ему чтобы легче было.
ввёл интервал i от 1 до 12
остальное решает уравнение поле ввода 4 переменных, если что-то не устроило пиши разберусь