Предмет: Информатика,
автор: stupid03
Напишите процедуру которая принимает параметр - натуральное число N и выводит первые N чисел Фибоначчи
Ответы
Автор ответа:
0
#include <iostream>
using namespace std;
int fib(int n)
{ if (n < 2) return n; else return fib(n - 1) + fib(n - 2);}
int main()
{
int n;
cin >> n;
cout << fib(n);
return 0;
}
using namespace std;
int fib(int n)
{ if (n < 2) return n; else return fib(n - 1) + fib(n - 2);}
int main()
{
int n;
cin >> n;
cout << fib(n);
return 0;
}
Автор ответа:
0
Потому что вызов одной функции влечет за собой еще 2
Автор ответа:
0
Например если f(5), то будут вызываться f(4), f(3), f(3), f(2), f(2), f(1)
Автор ответа:
0
И уже, как видно, идут повторные вызовы функции
Автор ответа:
0
Попробуйте использовать кэшированную рекурсию
Автор ответа:
0
Хорошо
Автор ответа:
0
procedure fib;
var n, i, a, b: integer;
begin
read(n);
b := 1;
for i := 2 to n do begin
b := a + b;
a := b - a
end;
if n = 0 then write(0)
else write(b);
end;
begin
fib;
end.
var n, i, a, b: integer;
begin
read(n);
b := 1;
for i := 2 to n do begin
b := a + b;
a := b - a
end;
if n = 0 then write(0)
else write(b);
end;
begin
fib;
end.
Автор ответа:
0
нужно решение через procedure
Автор ответа:
0
Сделал через процедуру
Автор ответа:
0
Спасибо большое
Автор ответа:
0
Пожалуйста
Похожие вопросы
Предмет: Литература,
автор: asalomasov75
Предмет: Физика,
автор: stepanderaalex
Предмет: Алгебра,
автор: Аноним
Предмет: Математика,
автор: oakorb0
Предмет: Химия,
автор: gribanovaolya2020