小弟已經搞了好久 第一個範例資料跟第二個都沒問題 到第三個-21的時候 他就怎樣都不跑!!><
求助高手!!謝謝
#include<stdio.h>
#include<stdlib.h>
int h(int);
int g(int);
int f(int);
int main(void)
{ long long int n, k;
while(scanf("%lld",&n)!=EOF)
{
printf("%lld",f(n));
}
return 0;
}
int f(int x)
{ if (x>h(x)) return f(x-1)-h(x);
else if(x<h(x)) return f(g(x))-g(x);
else return 1;
}
int h(int y)
{ if(y<2) return (-1);
else return (2+h(y-1)-h(y-2));
}
int g(int z)
{ if(z<=2) return (z*z-1);
else return 2;
}