Hat's Fibonacci
F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n - 1) + F(n-2) + F(n-3) + F(n-4)
Your task is to take a number as input, and print that Fibonacci number.
#include<stdio.h>
#include<string.h>
#define N 10000
#define M 300
int f[N][M];
void work()
{
memset(f,0,sizeof(f));
f[1][1]=f[2][1]=f[3][1]=f[4][1]=1;
int i,j,t;
for(i=5; i<N; i++)
{
t=0;
for(j=1; j<M; j++)
{
t=t+f[i-1][j]+f[i-2][j]+f[i-3][j]+f[i-4][j];
f[i][j]=t%100000000;
t=t/100000000;
}
}
}
int main()
{
int i,n;
work();
while(scanf("%d",&n)!=EOF)
{
i=M-1;
while(f[n][i]==0) i--;
printf("%d",f[n][i--]);
while(i>=1)
{
printf("%08d",f[n][i]);
i--;
}
printf("\n");
}
return 0;
}