Рекурсия, последовательность Фибоначчи - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ребят, как сделать собственную функцию с рекурсией, которая считала бы К-ый член последовательности Фибоначчи ? Я ей 7, а она мне возвращает число 17
еще такой вопрос, почему если я вывожу 46 член и т.д значения выводятся минусом?
fiba[0]=fiba[1]=1;
printf("Kakoi k chlen vuvesti1? ");
 
    scanf("%i", &num_elem);
    
    for(i=2; i<num_elem; ++i)
    {
        fiba[i]=fiba[i-2]+fiba[i-1];
    }
 
    printf("%i chlen = %i", num_elem, fiba[num_elem-1]);
Пробовал делать тип long long, но не дало ничего это

Решение задачи: «Рекурсия, последовательность Фибоначчи»

textual
Листинг программы
#include <iostream>
using namespace std;
long int fact(long int x)
{
    if(x==0)
             return 0;
    if(x==1)
             return 1;
    else 
             return x*fact(x-1);
 
}
long int fibo(long int x)
{
    if(x==0)
             return 0;
    if(x==1)
             return 1;
    else 
             return fibo(x-2)+fibo(x-1);
}
void main()
{
    cout<<fibo(30)<<endl;
    cout<<fact(30)<<endl;
    system("pause");
}

Объяснение кода листинга программы

В этом коде реализована функция fact(x), которая вычисляет факториал числа x. Также есть функция fibo(x), которая вычисляет число Фибоначчи для данного числа x. В функции main() вызываются эти функции для вычисления факториала и числа Фибоначчи для x=30, результат выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы