M3TILE - LATGACH3
Tác giả: skyvn97
Ngôn ngữ: C++
#include<stdio.h>
#define MAX 40
typedef unsigned long long ull;
ull f[MAX];
ull g[MAX];
ull h[MAX];
int n;
void init(void)
{
int i;
f[0]=1;
f[1]=0;
g[0]=1;
g[1]=0;
h[0]=0;
h[1]=1;
for (i=2;i<MAX;i=i+1)
{
f[i]=f[i-2]+g[i-2]+h[i-1];
g[i]=f[i]+h[i-1];
h[i]=g[i-1];
}
}
int main(void)
{
init();
while (true)
{
scanf("%d",&n);
if (n<0) return 0;
else printf("%llu\n",f[n]);
}
}