fork(1) download
  1. #include<stdio.h>
  2. int arr[10000];
  3.  
  4. int f(int b)
  5. {
  6. if(b<=0)
  7. {
  8. return 0;
  9. }
  10. if(b==1)
  11. {
  12. return 1;
  13. }
  14. if(b==2)
  15. {
  16. return 2;
  17. }
  18. if(b==3)
  19. {
  20. return 4;
  21. }
  22. if(arr[b]!=0)
  23. {
  24. return arr[b];
  25. }
  26. else
  27. {
  28. arr[b]=f(b-1)+f(b-2)+f(b-3);
  29. return arr[b];
  30. }
  31. }
  32.  
  33. int main()
  34. {
  35. int a,b,i;
  36. scanf("%d",&a);
  37. for(i=1;i<=a;i++)
  38. {
  39. scanf("%d",&arr[i]);
  40. }
  41. for(i=1;i<=a;i++)
  42. {
  43. printf("%d\n", f(arr[i]));
  44. }
  45. return 0;
  46. }
Success #stdin #stdout 0s 4312KB
stdin
4
1
2
3
4
stdout
1
2
4
4