ハノイの塔問題
- ただし、従うべきルールがいくつかあります。
- 移動ごとに1枚のディスクしか転送できません。
- スタンドからピックアップできるのは一番上のディスクのみです。
- 小さいディスクの上部に大きいディスクは配置されません。
この問題は、再帰によって簡単に解決できます。最初に、再帰を使用して、一番上の(n-1)ディスクをソースから補助スタンドに配置し、次に最後のディスクをソースから宛先に配置し、次に(n-1)ディスクを補助スタンドから宛先スタンドに再帰的に配置します。
入力と出力
Input: Number of discs: 3 Output: 1. Move disk 1 from A to C 2. Move disk 2 from A to B 3. Move disk 1 from C to B 4. Move disk 3 from A to C 5. Move disk 1 from B to A 6. Move disk 2 from B to C 7. Move disk 1 from A to C
アルゴリズム
toh(n, s, a, d)
入力: ディスクの数、ソース、補助、宛先。
出力: 適切なルールを維持しながら、ディスクをソースから宛先に移動する手順。
Begin if n = 1, then display move disc from s to d toh(n-1, s, d, a) display move disc from s to d toh(n-1, a, s, d) End
例
#include<iostream> using namespace std; void TOH(int n, char s, char a, char d) { static int count = 0; //store number of counts if(n == 1) { count++; cout << count<< ". Move disk " << n << " from "<<s <<" to "<<d<<endl; return; //base case, when only one disk } TOH(n-1, s, d, a); //recursive call the function count++; cout << count<< ". Move disk " << n << " from "<<s <<" to"<<d<<endl; TOH(n-1, a, s, d); } int main() { int n; cout << "Enter the number of disks: "; cin >> n; TOH(n, 'A','B','C'); }
出力
Enter the number of disks: 3 1. Move disk 1 from A to C 2. Move disk 2 from A to B 3. Move disk 1 from C to B 4. Move disk 3 from A to C 5. Move disk 1 from B to A 6. Move disk 2 from B to C 7. Move disk 1 from A to C
-
[解決済み] Windows がハードディスクの問題を検出しました
Windows が検出したハードディスクの問題を修正します。 Windows のバージョンを最近アップグレードした場合、「Windows がハード ディスクの問題を検出しました」というエラー メッセージが表示される可能性があります。このエラー メッセージが頻繁に表示され、このエラーが表示された後、コンピューターがフリーズまたはスタックします。エラーの原因は、エラーに既に記載されているハードディスクの故障です。エラーメッセージは次のとおりです: Windows がハード ディスクの問題を検出しました 情報の損失を防ぐためにファイルをすぐにバックアップしてから、コンピューターの製造元に連絡
-
Windows 10、8.1、および 7 で 100 ディスク使用量の問題を解決するための 5 つのヒント
起動時にシステムがフリーズしたり、クリックにアプリケーションが応答しないなど、Windows 10 の更新プログラムをインストールした後に Windows 10 のパフォーマンスが低下した場合。また、タスク マネージャーを確認すると、システム ドライブが 100 で実行されていることがわかり、オペレーティング システムの速度が低下する場合があります。多くのユーザーが、この問題はハードディスク ドライブ (HDD) とソリッド ステート ドライブ (SSD) の両方に影響すると報告しています。 100 ディスク使用量を引き起こすさまざまな問題があります Windows 10 の問題。破損したシ