fork download
  1. #include <stdio.h>
  2.  
  3. // 1. int型のグローバル変数 c を宣言
  4. int count = 0;
  5.  
  6. // 3項漸化式の関数 (元のコードをベースとして使用)
  7. int rec(int n) {
  8. // 2. rec関数の実行ごとに c をインクリメント
  9. count++;
  10.  
  11. // ベースケース (P11のコードを想定して具体的な値は省略)
  12. if (n == 0) return /* a0 の値 */;
  13. if (n == 1) return /* a1 の値 */;
  14. if (n == 2) return /* a2 の値 */;
  15.  
  16. // 漸化式の再帰呼び出し部分 (P11のコードに合わせる)
  17. return /* c1 * rec(n-1) + c2 * rec(n-2) + c3 * rec(n-3) のような形 */;
  18. }
  19.  
  20. int main(void) {
  21. int n = 5; // 例として n=5
  22.  
  23. // 数列の値の計算
  24. int value = rec(n);
  25.  
  26. printf("数列a%dの値は%d\n", n, value);
  27.  
  28. // 3. main関数内で c の値を表示
  29. printf("このときrecの呼び出し回数は%d\n", count);
  30.  
  31. return 0;
  32. }
  33.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
数列a5の値は0
このときrecの呼び出し回数は1