fork(1) download
  1. #include <stdio.h>
  2. int f[100];
  3. int count=0;
  4. void init();
  5. void printfoo();
  6. void printfoo()
  7. {
  8. printf("\n");
  9. int i;
  10. for(i=0;i<10;i++)
  11. printf("\t%d",f[i]);
  12. }
  13. void init()
  14. {
  15. int i;
  16. for(i=0;i<100;i++)
  17. f[i]=0;
  18. }
  19. double foo(int n)
  20. { count++;
  21. int i;
  22. double sum;
  23. if(n == 0)
  24. {
  25. f[0]=1;
  26. return 1.0;
  27. }
  28. else
  29. {
  30. sum = 0.0;
  31. for(i = 0; i < n; i++)
  32. {
  33. if(f[i]!=0)
  34. {
  35. sum=sum+f[i];
  36. continue;
  37. }
  38. sum += foo(i);
  39. }
  40. f[i]=sum;
  41. return sum;
  42. }
  43.  
  44. }
  45.  
  46. int main(void) {
  47. double r;
  48. init();
  49. r=foo(5);
  50. printf("\n Value of foo(5) is %lf",r);
  51. printfoo();
  52. printf("\n Function Called %d times for foo(5) ",count);
  53.  
  54. return 0;
  55. }
  56.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
 Value of foo(5) is 16.000000
	1	1	2	4	8	16	0	0	0	0
 Function Called 6 times for foo(5)