プログラムをやってみよー (C).part2
何ヶ月ぶりかの更新。
ちょこちょことやってはいたんだがねー。
見てもらえれば判ると思うが、n=30までのフィボナッチ数列の表示プログラムです。
滑稽者氏から渡されたサンプル見たらまんまで笑った(笑)
でも一応自分で構築したんだぜっ。
再帰呼び出しについてちょこっと。
fibn関数内で定義しているint nは、main関数の中にあるint nと同一のものではないのです。(わかってる人は判ってるとは思うが)
両者共にローカル変数だから、関数内が適用範囲(スコープとか言う)なので別の文字列でも問題なし。
だから、
でもおk。(fibn関数を抜き出しただけ、これだけじゃ動かないよ)
実際に置き換えれば問題なく動きます。
次回更新日はまた不明(笑)
任意の数まで拡張しただけ。
intの値から外れたら誤作動するので(その前に動作速度がアレな事になりますが)、そこは勝手に手直しして下さいな。
ついでにもうひとつ。
再帰呼び出し非利用のフィボナッチ数列の表示プログラム。
unsigned使っても46が47に伸びただけと言う 。当然ですね、符号消すだけだもの、2倍にしかならないよ。それ以上伸ばすなら64bitにしなきゃいけないわけだが、64bitの変数って知らない。
唯一のうまみは、再帰呼び出し使ってないから動作が速いと言うところか。
以上、漸く再帰呼び出しを理解したふらっぐでした。
トラックバック(0)
このブログ記事を参照しているブログ一覧: プログラムをやってみよー (C).part2
このブログ記事に対するトラックバックURL: http://delta50.net/mt/mt-tb.cgi/320

コメントする