アルゴリズム...困難
782 ワード
2週間航行する.
本格的なアルゴリズムマラソンが始まりました...
自分で解いてみましたが、初めて触れたコードなので・・・私はあなたが手で問題を解くことができることを知っています...どうやってコンピューターにこれをやらせるのか分からない.特にハノイタワー問題では...1次n-1次のすべての転送関数を実行します...第2段階は最後の最大の目標に移行する場所であり、第3段階は現在n-1の目標に移行する場所である...私は数学の上のa=2 an-1+1を理解することができますなぜ再帰関数で答えと一緒に書くのかまだ分かりませんが...
an +1 = 2(an-1 +1) so an = 2^n - 1
Pythonでは、
def hanoi tower(n,start,end):startからendに移動する関数
if n == 1:
print(start, end)
returnhanoi_tower(n - 1, start, 6 - start - end) # 1단계 start에서 end로 가기 위해선 end 말고 다른곳에 다 옮겨놔야함
print(start, end) # 2단계 맨 마지막꺼 하나를 이제 옮겨지는곳으로 옮기는 과정
hanoi_tower(n - 1, 6 - start - end, end) # 3단계 이거 전체다를 목표한곳으로 이제 다 옮겨주는 함수
A 4紙では、n=3のとき、一つ一つ展開して、コンピュータの計算方法を知っていましたが、それを利用して直接再帰関数を書く方法が分かりません...
Reference
この問題について(アルゴリズム...困難), 我々は、より多くの情報をここで見つけました
https://velog.io/@kis3053/알고리즘....-어렵다
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
hanoi_tower(n - 1, start, 6 - start - end) # 1단계 start에서 end로 가기 위해선 end 말고 다른곳에 다 옮겨놔야함
print(start, end) # 2단계 맨 마지막꺼 하나를 이제 옮겨지는곳으로 옮기는 과정
hanoi_tower(n - 1, 6 - start - end, end) # 3단계 이거 전체다를 목표한곳으로 이제 다 옮겨주는 함수
Reference
この問題について(アルゴリズム...困難), 我々は、より多くの情報をここで見つけました https://velog.io/@kis3053/알고리즘....-어렵다テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol