/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_fibnacci.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: keanders <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/07/23 20:55:04 by keanders #+# #+# */
/* Updated: 2024/07/23 20:55:06 by keanders ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdio.h>
// Without memo cache
int fb(int n)
{
if (n < 0)
return (-1);
if (n <= 1)
{
return (n);
}
return (fb(n - 1) + fb(n -2));
}
/*
#define MAX_N 100
int g_memo[MAX_N + 1]; // +1 for base case n=0
int fb(int n)
{
int result;
if (n < 0)
return (-1);
if (n <= 1)
{
return (n);
}
if (g_memo[n] != 0) // if result is already memoized
{
return (g_memo[n]);
}
result = fb(n - 1) + fb(n - 2);
g_memo[n] = result; // store result in memo array
return (result);
}
*/
int main(void)
{
int n;
n = -1;
printf("The %dth Fibo number is: %d\n", n, fb(n));
n = -3;
printf("The %dth Fibo number is: %d\n", n, fb(n));
n = 44;
printf("The %dth Fibo number is: %d\n", n, fb(n));
n = 45;
printf("The %dth Fibo number is: %d\n", n, fb(n));
n = 46;
printf("The %dth Fibo number is: %d\n", n, fb(n));
n = 47;
printf("The %dth Fibo number is: %d\n", n, fb(n));
n = 48;
printf("The %dth Fibo number is: %d\n", n, fb(n));
n = 49;
printf("The %dth Fibo number is: %d\n", n, fb(n));
return (0);
}
To embed this project on your website, copy the following code and paste it into your website's HTML: