Написать функцию, которая возвращает сумму n чисел Фибоначчи. Число n принимается в качестве аргумента, нужно без доп. переменных только рекурсией. Помогите пожалуйста.
Вычислить в лоб :)
unsigned int fib(unsigned int n)
{
if (n <= 1) return 1;
return fib(n-1) + fib(n-2);
}
unsigned int sumfib(unsigned int n)
{
if (n == 0) return 1;
return sumfib(n-1) + fib(n);
}
И посчитать для n эдак 45-50...
Update
Ладно, стёб не удался :)
Держите то, что вы хотели.
unsigned int sfib(unsigned int n)
{
if (n <= 1) return 0;
return sfib(n-1)+sfib(n-2)+1;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей