/************************************************
=========非波拉契递归实现=========
************************************************/
#include <stdio.h>
int func(int num) //递归函数
{
if(num == 1 || num == 2) // 第一个第二个做特殊处理
{
return 1;
}
else
{
return func(num-1)+func(num-2); //后一项等于前两项之和
}
}
int main(void) //主函数
{
int n,num;
scanf("%d",&num); //获取你所需的第几个数的值
n = func(num); //执行函数
printf("%d\n",n);
return 0;
}