Рекурсия, последовательность Фибоначчи - C (СИ)
Формулировка задачи:
Ребят, как сделать собственную функцию с рекурсией, которая считала бы К-ый член последовательности Фибоначчи ? Я ей 7, а она мне возвращает число 17
Пробовал делать тип long long, но не дало ничего это
еще такой вопрос, почему если я вывожу 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]);
Решение задачи: «Рекурсия, последовательность Фибоначчи»
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, результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д