fork download
  1. #include <stdio.h>
  2.  
  3. void fr(int n, int a[])
  4. {
  5. int tmp;
  6.  
  7. if (n == 0)
  8. return;
  9.  
  10. tmp = a[0] * a[2] + 1;
  11. a[2] = a[1];
  12. a[1] = a[0];
  13. a[0] = tmp;
  14.  
  15. fr(n - 1, a);
  16. }
  17.  
  18. int f(int n)
  19. {
  20. int a[3] = { 1, 1, 1 };
  21.  
  22. if (n <= 2)
  23. return 1;
  24.  
  25. fr(n - 2, a);
  26.  
  27. return a[0];
  28. }
  29.  
  30. int main(void)
  31. {
  32. int k;
  33. for (k = 0; k < 10; k++)
  34. printf("f(%d) = %d\n", k, f(k));
  35. return 0;
  36. }
  37.  
Success #stdin #stdout 0s 1832KB
stdin
Standard input is empty
stdout
f(0) = 1
f(1) = 1
f(2) = 1
f(3) = 2
f(4) = 3
f(5) = 4
f(6) = 9
f(7) = 28
f(8) = 113
f(9) = 1018