データ構造,アルゴリズム,デザインパターン総合スレ 2
■ このスレッドは過去ログ倉庫に格納されています
0400デフォルトの名無しさん
2014/05/16(金) 18:38:21.93ID:rkx/vo/ufibonacchi数列の非再帰表現をするにはごく普通にwhileループを使って実現できる
f(n) = f(n-2) + f(n-1)
のf(n-2)の値を例えば変数prev2に保存し
f(n--1)の値を例えば変数prev1に保存すれば
f(n) はprev2 + prev1で求められる
それを変数ansに格納すれば
while ループごとに
ans = prev2 + prev1
prev2 = prev1
prev1 = ans
と更新していけばよい
また、f(1)=f(2)=1なのでそれはwhileループで処理しない。逆に
f(3)以上の値をwhileループで求めればよい
具体的には、これを見ろ
http://codepad.org/vdi9qyqK
■ このスレッドは過去ログ倉庫に格納されています