コードも出ず一般的な副作用のある問題への適用可能性もわからないが
速度が必要なところでは始めからループを使い再帰は通常使われない
今回のような問題ならメモ化の方が高速化に対して効果的
さらにフィボナッチ漸化式の場合はそのまま二つ分のみのメモ化としレジスタ(ローカル変数)で演算していくようにプログラミングするのが常識