fork(1) download
  1. #include <stdio.h>
  2. //a{n} = -6a{n-1} -9a{n-2}, a{1}=1, a{2}=2(再帰あり版)
  3.  
  4. int c = 0; // 1. グローバル変数 c(recの呼び出し回数)
  5.  
  6. int rec(int n){
  7. c++; // 2. recが実行されるたびに c を増やす
  8. if(n == 1){
  9. return 1;
  10. }
  11. else if(n == 2){
  12. return 2;
  13. }
  14. else{
  15. return -6*rec(n-1) - 9*rec(n-2);
  16. }
  17. }
  18.  
  19. int main(void) {
  20. int n = 4;
  21. printf("数列a%dの値は%d\n", n, rec(n));
  22. printf("recの呼び出し回数は%d回\n", c); // 3. c を表示
  23. return 0;
  24. }
Success #stdin #stdout 0.01s 5296KB
stdin
Standard input is empty
stdout
数列a4の値は108
recの呼び出し回数は5回