new file: Files/flashplayer_32_sa.exe new file: favicon.ico new file: globe.gif new file: imgs/download.png new file: imgs/zuck.jpg new file: index.html new file: other.ico new file: script.js new file: site.webmanifest new file: sitemap.html new file: styles/backround.css new file: styles/border.css new file: styles/fonts/Titillium_Web/OFL.txt new file: styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf new file: styles/fonts/webfontkit-20221027-163353/generator_config.txt new file: styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2 new file: styles/fonts/webfontkit-20221027-165950/generator_config.txt new file: styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2 new file: styles/style.css new file: tools/2048/.gitignore new file: tools/2048/.jshintrc new file: tools/2048/CONTRIBUTING.md new file: tools/2048/LICENSE.txt new file: tools/2048/README.md new file: tools/2048/Rakefile new file: tools/2048/favicon.ico new file: tools/2048/index.html new file: tools/2048/js/animframe_polyfill.js new file: tools/2048/js/application.js new file: tools/2048/js/bind_polyfill.js new file: tools/2048/js/classlist_polyfill.js new file: tools/2048/js/game_manager.js new file: tools/2048/js/grid.js new file: tools/2048/js/html_actuator.js new file: tools/2048/js/keyboard_input_manager.js new file: tools/2048/js/local_storage_manager.js new file: tools/2048/js/tile.js new file: tools/2048/meta/apple-touch-icon.png new file: tools/webretro/cores/neocd_libretro.js new file: tools/webretro/cores/neocd_libretro.wasm new file: tools/webretro/cores/nestopia_libretro.js new file: tools/webretro/cores/nestopia_libretro.wasm new file: tools/webretro/cores/o2em_libretro.js new file: tools/webretro/cores/o2em_libretro.wasm new file: tools/webretro/cores/opera_libretro.js new file: tools/webretro/cores/opera_libretro.wasm
223 lines
7.5 KiB
HTML
223 lines
7.5 KiB
HTML
<!doctype html>
|
|
<html><!-- #BeginTemplate "/Templates/Main.dwt" --><!-- DW6 -->
|
|
|
|
<!-- Mirrored from www.mathsisfun.com/games/hanoi_solver.html by HTTrack Website Copier/3.x [XR&CO'2014], Sat, 29 Oct 2022 01:04:41 GMT -->
|
|
<head>
|
|
<!-- #BeginEditable "doctitle" -->
|
|
<title>Tower of Hanoi Solver</title>
|
|
<!-- #EndEditable -->
|
|
<meta name="keywords" content="math, maths, mathematics, school, homework, education" />
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
<meta http-equiv="pics-label" content='(PICS-1.1 "http://www.classify.org/safesurf/" L gen true for "http://www.mathsisfun.com" r (SS~~000 1))' />
|
|
<link rel="stylesheet" type="text/css" href="../style2.css" />
|
|
<script src="../main.js" type="text/javascript"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="centerfull">
|
|
<div id="midfull">
|
|
<div id="header" role="banner">
|
|
|
|
<div id="searchBox" role="search">
|
|
<form action="https://www.mathsisfun.com/sphider/search.php" method="get">
|
|
<input type="text" name="query" value="" id="searchFld" />
|
|
<input type="submit" value="Search" name="submit" id="searchBtn" />
|
|
<input type="hidden" name="search" value="1" />
|
|
</form>
|
|
</div>
|
|
|
|
<div id="linkto">
|
|
<script type="text/javascript">getAdRight2();</script>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="menu" class="centerfull" role="navigation">
|
|
<script type="text/javascript">getMenuTop();</script>
|
|
</div>
|
|
<div id="adhid2">
|
|
<div id="showads1"><a href="javascript:showads()">Show Ads</a></div>
|
|
<div id="hideads1"><a href="javascript:hideads()">Hide Ads</a><br /><a href="../about-ads.html">About Ads</a></div>
|
|
</div>
|
|
|
|
<div id="topads" class="centerfull noprint">
|
|
<script type="text/javascript">getAdTop();</script>
|
|
</div>
|
|
|
|
<div id="content" role="main"> <!-- #BeginEditable "Body" -->
|
|
|
|
<script language="JavaScript" type="text/javascript">
|
|
<!-- Original: Amin Wong (aminwong@hotmail.com) -->
|
|
|
|
<!-- This script and many more are available free online at -->
|
|
<!-- The JavaScript Source!! http://javascript.internet.com -->
|
|
|
|
<!-- Begin
|
|
var MAXHEIGHT = 8;
|
|
var ndisk;
|
|
var timer = null;
|
|
var mvfrom = new Array(255);
|
|
var mvto = new Array(255);
|
|
var mv, imv;
|
|
var tower = new Array(3);
|
|
var h = new Array(3);
|
|
var spc = " ";
|
|
var dname = new Array(
|
|
"|",
|
|
"***",
|
|
"$$$$$",
|
|
"@@@@@@@",
|
|
"&&&&&&&&&",
|
|
"###########",
|
|
"%%%%%%%%%%%%%",
|
|
"OOOOOOOOOOOOOOO",
|
|
"XXXXXXXXXXXXXXXXX");
|
|
|
|
function init() {
|
|
if (!timer) {
|
|
s = document.formHanoi.disk.options[document.formHanoi.disk.selectedIndex].value;
|
|
if (s == "random") {
|
|
now = new Date();
|
|
ndisk = parseInt(now.getTime() / 1000) % 8 + 1;
|
|
delete now;
|
|
}
|
|
else ndisk = s;
|
|
mv = 0;
|
|
hanoi(0, 2, 1, ndisk);
|
|
for (i = 0; i < 3; i++)
|
|
tower[i] = new Array(MAXHEIGHT);
|
|
for (i = 0; i < ndisk; i++)
|
|
tower[0][i] = ndisk - i;
|
|
h[0] = ndisk;
|
|
h[1] = h[2] = 0;
|
|
imv = 0;
|
|
document.formHanoi.display.value = gentower();
|
|
timer = window.setTimeout("gennexttower()", document.formHanoi.delay.options[document.formHanoi.delay.selectedIndex].value);
|
|
}
|
|
}
|
|
function stop() {
|
|
if (timer) {
|
|
window.clearTimeout(timer);
|
|
timer = null;
|
|
}
|
|
}
|
|
function hanoi(from,to,buf,nmv) {
|
|
if (nmv > 1) {
|
|
hanoi(from, buf, to, nmv - 1);
|
|
mvfrom[mv] = from;
|
|
mvto[mv++] = to;
|
|
hanoi(buf, to, from, nmv - 1);
|
|
}
|
|
else {
|
|
mvfrom[mv] = from;
|
|
mvto[mv++] = to;
|
|
}
|
|
}
|
|
function gennexttower() {
|
|
tower[mvto[imv]][h[mvto[imv]]++] = tower[mvfrom[imv]][--h[mvfrom[imv]]];
|
|
document.formHanoi.display.value = gentower();
|
|
if (++imv < mv)
|
|
timer = window.setTimeout("gennexttower()", document.formHanoi.delay.options[document.formHanoi.delay.selectedIndex].value);
|
|
else {
|
|
for (i = 0; i < 3; i++)
|
|
delete tower[i];
|
|
timer = null;
|
|
}
|
|
}
|
|
function gentower() {
|
|
s = " \n";
|
|
for (i = MAXHEIGHT - 1; i >= 0; i--) {
|
|
for (j = 0; j < tower.length; j++) {
|
|
len = i < h[j] ? tower[j][i] : 0;
|
|
width = MAXHEIGHT - len;
|
|
s += " " + spc.substring(0, width) + dname[len] + spc.substring(0, width);
|
|
}
|
|
s += "\n";
|
|
}
|
|
return s+"=======================================================";
|
|
}
|
|
// End -->
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<center>
|
|
<h1>Tower of Hanoi Solver</h1>
|
|
Solves the Tower of Hanoi in the minimum number of moves.
|
|
<form name="formHanoi" id="formHanoi">
|
|
<textarea name="display" rows="10" cols="56"></textarea>
|
|
<br />
|
|
<table border="0" cellspacing="10" cellpadding="0">
|
|
<tr>
|
|
<td>Number of disks</td>
|
|
<td>
|
|
<select name="disk">
|
|
<option selected="selected" value="random">Random
|
|
</option><option value="1">1
|
|
</option><option value="2">2
|
|
</option><option value="3">3
|
|
</option><option value="4">4
|
|
</option><option value="5">5
|
|
</option><option value="6">6
|
|
</option><option value="7">7
|
|
</option><option value="8">8
|
|
</option></select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Movement delay</td>
|
|
<td>
|
|
<select name="delay">
|
|
<option value="100">100 milliseconds
|
|
</option><option value="200">200 milliseconds
|
|
</option><option value="300">300 milliseconds
|
|
</option><option value="400">400 milliseconds
|
|
</option><option selected="selected" value="500">500 milliseconds
|
|
</option><option value="750">750 milliseconds
|
|
</option><option value="1000">1000 milliseconds
|
|
</option><option value="1250">1250 milliseconds
|
|
</option><option value="1500">1500 milliseconds
|
|
</option><option value="2000">2000 milliseconds
|
|
</option></select>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<input type="button" value="Start" onclick="init();" name="button" />
|
|
<input type="button" value="Stop" onclick="stop();" name="button" />
|
|
</form>
|
|
</center>
|
|
<p> </p>
|
|
<div class="related">
|
|
<a href="index.html">Games Index</a>
|
|
<a href="games-1.html">Games 1</a>
|
|
<a href="games-2.html">Games 2</a>
|
|
<a href="games-3.html">Games 3</a>
|
|
<a href="games-4.html">Games 4</a>
|
|
</div>
|
|
<!-- #EndEditable -->
|
|
<div id="adend" class="centerfull noprint">
|
|
<script type="text/javascript">getAdEnd();</script>
|
|
</div>
|
|
</div>
|
|
<div id="footer" class="centerfull noprint">
|
|
<div class="footFriend"><a href="javascript:tellAFriend();"></a></div>
|
|
<div class="footFave"><a href="javascript:addFavorites();"></a></div>
|
|
<div class="footLink"><a href="javascript:linkToUs();"></a></div>
|
|
</div>
|
|
<div id="foot-menu" class="centerfull"><a href="../search/search.html">Search</a> :: <a href="../links/index.html">Index</a> :: <a href="../aboutmathsisfun.html">About</a> :: <a href="../contact.html">Contact</a> :: <a href="javascript:Contribute()">Contribute</a> :: <a href="javascript:Citation()">Cite This Page</a> :: <a href="../Privacy.html">Privacy</a> <br />
|
|
<br />
|
|
<span class="tiny">Copyright © 2014 MathsIsFun.com</span> <br />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="left column zneg">
|
|
<div id="leftcol"></div>
|
|
</div>
|
|
<div class="right column zneg">
|
|
<div id="rightcol"></div>
|
|
</div>
|
|
<script type="text/javascript">getBodyEnd();</script>
|
|
</body>
|
|
<!-- #EndTemplate -->
|
|
<!-- Mirrored from www.mathsisfun.com/games/hanoi_solver.html by HTTrack Website Copier/3.x [XR&CO'2014], Sat, 29 Oct 2022 01:04:41 GMT -->
|
|
</html> |