#include #include #include char outStr[36] = "Move top disk from pole - to pole -"; void SolveTowers(int Count, char Source, char Destination, char Spare) { if (Count == 1) { ofstream OutFile("4.txt", ios::app); outStr[24] = Source; outStr[34] = Destination; for (int i=0; i<36; i++) { OutFile.put(outStr[i]); } OutFile.put('\n'); OutFile.close(); } else { SolveTowers(Count-1, Source, Spare, Destination); SolveTowers(1, Source, Destination, Spare); SolveTowers(Count-1, Spare, Destination, Source); } } void main() { ofstream OutFile("towers.txt"); OutFile.close(); int iDisks = 0; cout << "Enter number of disks: "; cin >> iDisks; SolveTowers(iDisks, 'A', 'B', 'C'); }