function What(n,a,total)
if n=0
return total
elseif n is even and n>0
return What(n/2, a+1, total)
elseif n is odd
return What((n-1)/2, a+1, total + 2^n)
endif
end What
このアルゴリズムのクローズドフォームを見つける方法がわかりません。これは宿題の問題ではなく、私の今後の最終テストのための以前の試験を勉強するだけです。与えられたマーキング/スペースによれば、それは小さい/単純な解決策でなければならない。 0で複数の引数を持つアルゴリズムからクローズドフォームを見つける
と仮定すると、総開始、
I nが2の累乗である場合、アルゴリズムは、2を返すことがわかります。 は、nが偶数の場合2 ^(n/2)+ 2を返します。 nが奇数の場合は2^n + 2です。
最初のelseifのT(n/2)+ 1時間が得られ、2番目のelseifのT((n-1)/ 2)+ 2^n + 1(?
全体的に、ここでは閉じたフォームを見つける方法/繰り返しの置換を使用する方法についてはわかりません。
アルゴリズムの*戻り値*またはその時間複雑度*の閉じた形式を探していますか?それははっきりしていません。 – user2357112
@ user2357112私はランニングタイムに答えました。私は閉じた形式の数学を持っているとは思わない:-) –