本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成25年度 技術士第一次試験問題【専門科目】

V−1

C言語で、[関数の定義]で示すfibonacci 関数を、[関数の呼び出し]で呼び出した。このとき、変数 x に代入される値はどれか。

[関数の定義]
 int fibonacci(int a, int b, int n) {
  if (n == 1) { return a; }
  else if (n == 2) { return b; }
  else { return fibonacci(a, b, n-2) + fibonacci(a, b, n-1); }
 }
[関数の呼び出し]
 int x = fibonacci(2, 5, 4);

@ 8  A 12  B 13  C 21  D 31


類題

H18 W-5


正解

A


解説

x = fibonacci(2, 5, 4)
= fibonacci(2, 5, 4-2) + fibonacci(2, 5, 4-1)
= fibonacci(2, 5, 2) + fibonacci(2, 5, 3)
= 5 + fibonacci(2, 5, 3-2) + fibonacci(2, 5, 3-1)
= 5 + fibonacci(2, 5, 1) + fibonacci(2, 5, 2)
= 5 + 2 + 5
= 12

よって、x = 12

目次 V−2