fork download
  1. #include <stdio.h>
  2.  
  3. // recの呼び出し回数
  4. int c = 0;
  5.  
  6. // a[n] = 2a[n-1] + a[n-2]
  7. // a[1] = 2, a[2] = 3
  8. int rec(int n)
  9. {
  10. c++;
  11.  
  12. if (n == 1)
  13. {
  14. return 2;
  15. }
  16. else if (n == 2)
  17. {
  18. return 3;
  19. }
  20. else
  21. {
  22. return 2 * rec(n-1) + rec(n-2);
  23. }
  24. }
  25.  
  26. int main(void)
  27. {
  28. int n = 4;
  29. int a;
  30.  
  31. a = rec(n);
  32.  
  33. printf("数列a%dの値は%d\n", n, a);
  34. printf("このときrecの呼び出し回数は%d\n", c);
  35.  
  36. return 0;
  37. }
Success #stdin #stdout 0s 5328KB
stdin
Standard input is empty
stdout
数列a4の値は19
このときrecの呼び出し回数は5