对有规律的求第几个数为几,谢谢各位大佬,救救孩子吧QAQ

1,1,1,2,3,4,6,9,13,19,28...................
本人发现的规律(从第三个数开始)
1+1=2
2+1=3
3+1=4
4+2=6
6+3=9
9+4=13
13+6=19
19+9=29
求输出程序:
第几个数为多少?

a[n] ={ 1,1,1,2,3,4,6,9,13,19,28}
n= 0 1 2 3 4 5 6 7 8 9 10

a[3] = a[0]+a[2]
a[4] = a[1]+a[3] => n>=3 : a[n] = a[n-3] + a[n-1] n=0 && n<3: a[n]=1
a[5] = a[2]+a[4]
a[6] = a[3]+a[5]

so:
这个题目比较适合递归
int magicNum(int index)
{
if (index <0)
return 0;
else if(index<3)
return 1;
else
{
return magicNum(index-3)+magicNum(index-1);
}
}

function xx(n){
if(x==1||x==2||x==0){
return 1;
}else{
return xx[n-1]+xx[n-3]
}
差不多就是这么写吧,改成符合c语言格式