
Напишите программу (pascalabc.net) которая будет выводить на экран элементы последовательности
трибоначчи -первые элементы последовательности :0,0,1,1,2,2,4,7,13,24,44,81,159,... . каждый элемент , начиная с четвёртого , равен сумме трёх предыдущих : a✓n=a✓n-1+a✓n-2+a✓n-3 1.По заданному n вывести элемент последовательности. 2.для заданного x вывести элементы последовательности меньше x

Ответы на вопрос

//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.



Для написания программы на PascalABC.NET, которая будет выполнять две задачи (вывод элемента последовательности по заданному n и вывод элементов меньше заданного x), следуйте приведенному ниже коду:
pascalprogram TribonacciSequence; function Tribonacci(n: Integer): Integer; begin if (n = 0) or (n = 1) then Result := 0 else if n = 2 then Result := 1 else Result := Tribonacci(n - 1) + Tribonacci(n - 2) + Tribonacci(n - 3); end; procedure PrintTribonacciElement(n: Integer); begin WriteLn('Element ', n, ' of the Tribonacci sequence: ', Tribonacci(n)); end; procedure PrintTribonacciElementsLessThanX(x: Integer); var n, element: Integer; begin n := 0; element := 0; WriteLn('Tribonacci elements less than ', x, ':'); while element < x do begin Write(element, ' '); if (n = 0) or (n = 1) then element := 0 else if n = 2 then element := 1 else element := Tribonacci(n - 1) + Tribonacci(n - 2) + Tribonacci(n - 3); Inc(n); end; WriteLn; end; var choice, n, x: Integer; begin WriteLn('Select an option:'); WriteLn('1. Find the nth element of the Tribonacci sequence.'); WriteLn('2. Find elements of the Tribonacci sequence less than x.'); ReadLn(choice); if choice = 1 then begin WriteLn('Enter n:'); ReadLn(n); PrintTribonacciElement(n); end else if choice = 2 then begin WriteLn('Enter x:'); ReadLn(x); PrintTribonacciElementsLessThanX(x); end else WriteLn('Invalid choice.'); ReadLn; end.
Программа предлагает два варианта пользователю: найти n-ый элемент последовательности Трибоначчи или вывести элементы последовательности меньше заданного числа x. После выбора пользователем опции и ввода соответствующих данных, программа выведет результат на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili