fork download
  1. #include <stdio.h>
  2.  
  3. // 【手順 1】int型のグローバル変数 c を宣言(countとして使用)
  4. int count = 0;
  5.  
  6. // 3項漸化式の再帰関数
  7. int rec(int n) {
  8. // 【手順 2】rec関数の実行ごとに c をインクリメント
  9. count++;
  10.  
  11. // ベースケース (初期値)
  12. if (n == 1) {
  13. return 1;
  14. } else if (n == 2) {
  15. return 2;
  16. }
  17.  
  18. // 再帰ステップ (元の漸化式を適用)
  19. // P11のコードをこの部分に置き換えて使用してください。
  20. return -6 * rec(n - 1) - 9 * rec(n - 2);
  21. }
  22.  
  23. int main(void) {
  24. int n = 5; // 実行例の a5=-459 に合わせるため n=5
  25.  
  26. // 数列の値の計算
  27. int value = rec(n);
  28.  
  29. printf("数列a%dの値は%d\n", n, value);
  30.  
  31. // 【手順 3】main関数内で c の値を表示
  32. printf("このときrecの呼び出し回数は%d\n", count);
  33.  
  34. return 0;
  35. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
数列a5の値は-459
このときrecの呼び出し回数は9