平成17年度 技術士第一次試験問題【専門科目】
【16】情報工学部門
W−4
次のC言語のプログラムで、n ≧ 2として関数 f を呼び出したとき、f の
内部で f 自身が呼び出される回数を n のオーダで表したものを選べ。

int f(int n)
{
 if ( n < 2 )
  return 1 ;
 else
  return f(n-1) + f(n-2) ;
}
 @ Ο(n)  AO(nlogn) B Ο(n2)
 C O( (1+√5)/2)n )  D Ο(n!)



【正解】 C

f(2) = f(1) + f(0) = 1 + 1 = 2
f(3) =
f(2) + f(1) = (f(1) + f(0)) + 1 = 2 + 1 = 3
f(4) = f(3) + f(2) = 2 + 3 = 5
f(5) = f(4) + f(3) = 5 + 3 = 8
f(6) = f(5) + f(4) = 8 + 5 = 13
f(7) = 21
f(8) = 34
f(9) = 55
f(10) = 89

n に対してこのように値が変化するのに近いものは、Cである。
n= 2 2.618033989
n= 3 4.236067977
n= 4 6.854101966
n= 5 11.09016994
n= 6 17.94427191
n= 7 29.03444185
n= 8 46.97871376
n= 9 76.01315562
n=10 122.9918694


EXCELのマクロのご相談なら ファーストマクロ 



W−3 目次 W−5
ファーストマクロ TOPページ