![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3ベストアンサー
- 回答日時:
再帰関数を理解するコツは「深く考えないこと」だと思ってます。
ハノイの塔のプログラムって
# n枚の円盤を ルールに従い a→bに移動する。cは一次保管先として使える
1:def hanoi(n,a,b,c)::
2: hanoi(n -1 , a,c,b )
3: n番の板を aからbへ
4: hanoi(n -1 , c,b,a )
だいたいこんなのが多いと思います。
これを細かく追い掛けて理解しようとすると「 2:で呼び出されて1:に戻って、でも nはn-1になってるしbとcは入れかわってるし、そこから2:でまた1:へもどって今度はnはn-1から-1だから... で、戻ったら...どこ?」みたいな感じで混乱するでしょう。
混乱の原因は、再帰先まで一緒に考えようとすることです。
2:,4: の hanoi を(実際にそうなるかどうかは一旦考えないで) 仕様通りに動作する完成した関数だと考えます。
そうすると、上記のプログラムは
・n枚の円盤を a→bに移動する。cは一次保管先として使える
は
1. (一番大きなnの円盤の上にあって邪魔な) n -1枚の円盤を ルールに従い aからcに移動する。bは一次保管先として使える
2. 一番大きな nの円盤を aからbへ移動する
3. 退避しておいた n -1枚の円盤を ルールに従い 退避先の cからbに移動する。aは一次保管先として使える
ということだ、となります、
他の再帰関数でも、呼び出した先まで追い掛けるのではなく、その関数の機能にだけ注目することが理解のコツです。
No.2
- 回答日時:
とりあえず、実際にやってみれば良いと思う。
1円硬貨、50円硬貨、5円硬貨、100円硬貨、10円硬貨、500円硬貨
をそれぞれ1枚ずつ用意して積み上げたらアルゴリズムに従って移し替えてみよう。
これをやり終える頃には、そのアルゴリズムについての理解が深まっているはずです。
がんばれ。
(6枚の硬貨を使うので、べらぼうな時間がかかりますが世界が終わる事はありません。大丈夫)
それで理解できないなら、マジで救いようがないくらい頭が悪いという事になります。
普通の人なら「疲れた。けど理解できた」と、なります。
・・・
(´・ω・`) ゴメンね。質問者さんのことを知らないので、こんな感じで試したうえで判断するしかないんだ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(恋愛相談) どうすれば良いか分かりません 8 2021/12/31 04:34
- その他(悩み相談・人生相談) 24歳の女性です。 5年前ほどに、hss型hspと診断されました。 きっかけは、高校卒業後、事務職に 1 2021/12/13 12:45
- 発達障害・ダウン症・自閉症 話すのが苦手です。発達障害があります。 どもりもなく喜怒哀楽も普通です。落ち込みやすくもなく努力もし 1 2023/06/07 12:52
- 失恋・別れ 別れ際に暴言を吐く男性の心理が知りたいです。 11 2021/12/21 00:47
- いじめ・人間関係 先日学校で喧嘩して友達が離れていきました。 複雑で話が長くなってしまうので、先に質問したいことを言っ 1 2021/12/19 04:15
- アジア 日本からインドに行こうと思っています。ハノイかホーチミンで乗り継ぎの航空券が多いですが、 「ご自身で 7 2023/07/08 16:31
- いじめ・人間関係 好きかどうか分からないけど、仲良くなりたいな〜と思っている同じ職場の英語教師の男の人とよくLINEし 2 2021/12/13 06:31
- ドラマ ドラマ。関西住みです。今、夕方に白い巨塔の再放送をやってますが、今じゃ考えられないくらい、喫煙シーン 6 2023/07/26 14:33
- その他(社会・学校・職場) 苦手な男性に対する対応 1 2022/08/16 14:20
- その他(家族・家庭) イライラを収める方法を教えてください 5 2021/12/24 16:30
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
素数の無限この証明って
システム科学
-
A→BとC→Bが成り立つとき、 A∨C→Bも成り立つといえるでしょうか?
その他(形式科学)
-
確率の問題 数学と実生活と
数学
-
-
4
計算ソフトでの計算精度について
計算機科学
-
5
0+1=∞
数学
-
6
知的生命体探査などしなくても、光の速さの99.99999999%で飛べる宇宙船を飛ばした瞬間に地球に
宇宙科学・天文学・天気
-
7
自明の証明
数学
-
8
算数の割合の話ですがこのサイト間違えてますよね?
数学
-
9
直感力を高めるほうほうっていう、
数学
-
10
これは0になりますか? 1 3 - × - 2 0 分数です。
数学
-
11
数学 『トランプ』が関わる問題を解くために必須となる知識
数学
-
12
数値計算の時間の刻み幅について
計算機科学
-
13
イプシロンデルタ論法は成り立つか
数学
-
14
なんで2πをかけるのかがわからないです。
計算機科学
-
15
えfor文とか使っちゃう時点で時間計算量ってO(1)にはなりませんか?たとえば長さmの配列についてf
計算機科学
-
16
何故、日本は未だに数字を3桁区切りしているんですか? 例)18,000→これを18千円って言う人いま
その他(教育・科学・学問)
-
17
数学I アホらしい質問なのでそんなこと考えることは無駄などの解答は受け付けておりません。 また自分的
数学
-
18
パソコン用語ひとつもわかりません
計算機科学
-
19
プライベートで遠出をするので、車でのルート検索をしてみたんですが
環境学・エコロジー
-
20
x^2−6x+5=0はx=1であるための何条件か?という問題で、答えは必要条件なのですが、解説をお願
数学
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
乗換案内の作り方が知りたいです。
-
アルゴリズムとプロトコールの違い
-
タテヨコで数字の被らない二次...
-
正しい五十音順について
-
65536は2の何乗なのでしょうか?
-
PICマイコンのコピー(クローン...
-
変化させるセルが変化しない
-
Excelで4096点以上のFFTの方法
-
Bluestacks内でダウンロードし...
-
人時生産性をExcelで計算したい
-
パソコン
-
自動クエリとはどういうもので...
-
万年暦を導き出すプログラミング
-
未使用の変数を一括検索する方法
-
「ルーチン」という言葉の意味
-
スクリーンセーバーの作り方
-
VBからシャットダウンさせる方法
-
バッチファイルでウインドウを...
-
理系学生は皆プログラミングで...
-
寿命
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
アルゴリズムとプロトコールの違い
-
BCDについて
-
[ EXCEL VBA ] 図形を読み込む...
-
Stuck
-
グループを均等に分けるには?...
-
画像から文字を認識してテキス...
-
Dijkstraて
-
期間重複チェックがわかりません
-
JPEG圧縮で8×8に分割する理由に...
-
多変数関数の最小値を求めるプ...
-
OpenCVのライセンスについて
-
データを圧縮したい
-
ルービックキューブを揃えるた...
-
5人のテストの点数を入力すると...
-
C♯で電卓を作成しています。演...
-
ドロネー三角形のプログラム
-
vbaで、連立方程式を解く方法に...
-
動画で間違ったこと言っている
-
トップダウン解析とボトムアッ...
おすすめ情報