Witam. Mam napisac program w którym mam skorzystac ze wzorów na liczby Fibonacciego, w których odwołania
rekurencyjne są do liczby Fibonacciego o indeksach o około połowę mniejszych.
Czy dobrze to zapisałem? dla parzystych i nieparzystych. Wywala mi program po wpisaniu zakresu. Wypisuje tylko jedynkę.
if(n%2 == 0) return ((2*(fib(n-1))+fib(n))*fib(n));
if(n%2 == 1) return (fib(n-1)*fib(n-1)+fib(n)*fib(n));
#include <iostream>
#include <math.h>
using namespace std;
double fib(int n) {
if(n == 0) return 0;
if(n == 1) return 1;
if(n%2 == 0) return ((2*(fib(n-1))+fib(n))*fib(n));
if(n%2 == 1) return (fib(n-1)*fib(n-1)+fib(n)*fib(n));
}
int main() {
cout<<"Podaj zakres: ";
unsigned int zakres;
cin>>zakres;
for(unsigned int i=1; i<zakres; i++){
cout << fib(i) << endl;
}
cout << fib(zakres);
return 0;
}