#include<stdio.h>int fib(long n){ if(n<=1) return 1;return fib(n-1)+fib(n-2); }main(){long n,x;scanf("%ld",&n);x=fib(n);printf("%ld",x);getch();}输入N为23 的时候就出现负值了,但是在输入22的时候还是正确答案,求解