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

Последовательностью фибоначчи называется последовательность чисел a0, a1, an, где a0 = 0, a1 = 1, ak = ak-1 + ak-2 (k > 1). требуется найти n-е число фибоначчи. примечание. в программе запрещается использовать циклы. формат входных данных на вход программы поступает целое неотрицательное число n (n ≤ 30). формат выходных данных требуется вывести n-е число фибоначчи. пример входные данные 7 выходные данные 13

Ответ:
Sunshinesun88
Sunshinesun88
06.10.2020 02:03
Var n:integer;
function Fib(k:integer):integer;
begin
 if k=0 then Fib:=0
 else if k=1 then Fib:=1
      else Fib:=Fib(k-1)+Fib(k-2);
end;
begin
readln(n);
writeln(Fib(n));
end.

Пример:
10
55
0,0(0 оценок)
Ответ:
nbolshakova1
nbolshakova1
18.01.2024 19:38
Хорошо, давайте разберемся с этим вопросом.

Последовательность Фибоначчи - это последовательность чисел, где каждое число равно сумме двух предыдущих чисел. Начинается последовательность с 0 и 1. То есть первые несколько чисел Фибоначчи выглядят так: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 и так далее.

Нам нужно найти n-е число Фибоначчи, где n - это целое неотрицательное число, которое поступает на вход программы.

Для решения этой задачи без использования циклов, мы можем воспользоваться рекурсивной функцией.

Вот пошаговое решение:

1. Создайте функцию "fibonacci", которая будет принимать один аргумент - n.

2. Внутри функции проверьте базовые случаи. Если n равно 0, верните 0. Если n равно 1, верните 1.

3. Если n больше 1, рекурсивно вызовите функцию "fibonacci" для n-1 и n-2, и сложите их значения. То есть вызовите "fibonacci(n-1) + fibonacci(n-2)".

4. Верните полученное значение.

Вот как это выглядит на языке программирования Python:

def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)

Теперь, если мы вызовем функцию "fibonacci(7)", мы получим ответ 13, так как 13-е число Фибоначчи равно 13.

Заметим, что данный метод имеет некоторые недостатки при больших значениях n, так как он повторно вызывает функцию для одних и тех же значений. Если мы вызовем этот метод с n = 30, он может занять достаточно много времени и ресурсов.

Есть и другие, более эффективные способы решения этой задачи, используя математические формулы или запоминание уже вычисленных значений чисел Фибоначчи. Но для простоты и понятности, рекурсивный метод является хорошим началом.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?