96 lines
7.8 KiB
HTML
96 lines
7.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="author" content="Colin Hughes" />
|
|
<meta name="description" content="A website dedicated to the fascinating world of mathematics and programming" />
|
|
<meta name="keywords" content="programming,mathematics,problems,puzzles" />
|
|
|
|
<title>Problem 406 - Project Euler</title>
|
|
<link rel="shortcut icon" href="http://projecteuler.net/favicon.ico" />
|
|
<link rel="stylesheet" type="text/css" href="style_main.css" />
|
|
<link rel="stylesheet" type="text/css" href="style_light.css" />
|
|
<script type="text/x-mathjax-config">
|
|
MathJax.Hub.Config({
|
|
jax: ["input/TeX", "output/HTML-CSS"],
|
|
tex2jax: {
|
|
inlineMath: [ ["$","$"], ["\\(","\\)"] ],
|
|
displayMath: [ ["$$","$$"], ["\\[","\\]"] ],
|
|
processEscapes: true
|
|
},
|
|
"HTML-CSS": { availableFonts: ["TeX"] }
|
|
});
|
|
</script>
|
|
|
|
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="container">
|
|
|
|
<div id="nav" class="noprint">
|
|
<ul>
|
|
<li><a href="about" title="About" accesskey="h">About</a></li>
|
|
<li><a href="register" title="Register" accesskey="1">Register</a></li>
|
|
<li id="current"><a href="problems" title="Problems" accesskey="2">Problems</a></li>
|
|
<li><a href="login" title="Login" accesskey="3">Login</a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="info_panel"><a href="rss2_euler.xml"><img src="images/icon_rss.png" alt="RSS Feed" title="RSS Feed" /></a><a href="secure=d3e4f"><img src="images/icon_lock.png" alt="Use secure connection" title="Use secure connection" /></a></div>
|
|
|
|
<div id="logo" class="noprint">
|
|
<img src="images/pe_banner_light.png" alt="Project Euler .net" />
|
|
</div>
|
|
|
|
<div id="content">
|
|
<div style="text-align:center;" class="print"><img src="images/pe_banner.png" alt="projecteuler.net" style="border:none;" /></div>
|
|
<h2>Guessing Game</h2><div class="info" style="cursor:help;width:200px;margin-bottom:10px;"><h3>Problem 406</h3><span style="width:300px;color:#666;">Published on Sunday, 16th December 2012, 07:00 am; Solved by 182</span></div>
|
|
<div class="problem_content" role="problem">
|
|
<p>We are trying to find a hidden number selected from the set of integers {1, 2, ..., <var>n</var>} by asking questions.
|
|
Each number (question) we ask, we get one of three possible answers:<br />
|
|
<ul>
|
|
<li> "Your guess is lower than the hidden number" (and you incur a cost of <var>a</var>), or</li>
|
|
<li> "Your guess is higher than the hidden number" (and you incur a cost of <var>b</var>), or</li>
|
|
<li> "Yes, that's it!" (and the game ends).</li>
|
|
</ul></p>
|
|
|
|
<p>Given the value of <var>n</var>, <var>a</var>, and <var>b</var>, an <i>optimal strategy</i> minimizes the total cost <u>for the worst possible case</u>.</p>
|
|
|
|
<p>For example, if <var>n</var> = 5, <var>a</var> = 2, and <var>b</var> = 3, then we may begin by asking "<b>2</b>" as our first question.</p>
|
|
|
|
<p>If we are told that 2 is higher than the hidden number (for a cost of <var>b</var>=3), then we are sure that "<b>1</b>" is the hidden number (for a total cost of <span style='color:blue;'><b>3</b></span>).<br />
|
|
If we are told that 2 is lower than the hidden number (for a cost of <var>a</var>=2), then our next question will be "<b>4</b>".<br />
|
|
If we are told that 4 is higher than the hidden number (for a cost of <var>b</var>=3), then we are sure that "<b>3</b>" is the hidden number (for a total cost of 2+3=<span style='color:blue;'><b>5</b></span>).<br />
|
|
If we are told that 4 is lower than the hidden number (for a cost of <var>a</var>=2), then we are sure that "<b>5</b>" is the hidden number (for a total cost of 2+2=<span style='color:blue;'><b>4</b></span>).<br />
|
|
Thus, the worst-case cost achieved by this strategy is <span style='color:red;'><b>5</b></span>. It can also be shown that this is the lowest worst-case cost that can be achieved.
|
|
So, in fact, we have just described an optimal strategy for the given values of <var>n</var>, <var>a</var>, and <var>b</var>.</p>
|
|
|
|
<p>Let C(<var>n</var>, <var>a</var>, <var>b</var>) be the worst-case cost achieved by an optimal strategy for the given values of <var>n</var>, <var>a</var>, and <var>b</var>.</p>
|
|
|
|
<p>Here are a few examples:<br />
|
|
C(5, 2, 3) = 5<br />
|
|
C(500, <img src='images/symbol_radic.gif' width='14' height='16' alt='√' border='0' style='vertical-align:middle;' />2, <img src='images/symbol_radic.gif' width='14' height='16' alt='√' border='0' style='vertical-align:middle;' />3) = 13.22073197...<br />
|
|
C(20000, 5, 7) = 82<br />
|
|
C(2000000, <img src='images/symbol_radic.gif' width='14' height='16' alt='√' border='0' style='vertical-align:middle;' />5, <img src='images/symbol_radic.gif' width='14' height='16' alt='√' border='0' style='vertical-align:middle;' />7) = 49.63755955...</p>
|
|
|
|
<p>Let F<sub><var>k</var></sub> be the Fibonacci numbers: F<sub><var>k</var></sub> = F<sub><var>k</var>-1</sub> + F<sub><var>k</var>-2</sub> with base cases F<sub>1</sub> = F<sub>2</sub> = 1.<br />Find <img src='images/symbol_sum.gif' width='11' height='14' alt='∑' border='0' style='vertical-align:middle;' /><sub>1<img src='images/symbol_le.gif' width='10' height='12' alt='≤' border='0' style='vertical-align:middle;' /><var>k</var><img src='images/symbol_le.gif' width='10' height='12' alt='≤' border='0' style='vertical-align:middle;' />30</sub> C(10<sup>12</sup>, <img src='images/symbol_radic.gif' width='14' height='16' alt='√' border='0' style='vertical-align:middle;' /><var>k</var>, <img src='images/symbol_radic.gif' width='14' height='16' alt='√' border='0' style='vertical-align:middle;' />F<sub><var>k</var></sub>), and give your answer rounded to 8 decimal places behind the decimal point.</p>
|
|
</div><br />
|
|
<br /></div>
|
|
|
|
|
|
|
|
|
|
|
|
<div id="footer" class="noprint">
|
|
<a href="copyright">Project Euler Copyright Information</a>
|
|
<!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
|
|
<Work rdf:about="">
|
|
<license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/" />
|
|
<dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
|
|
</Work>
|
|
<License rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><prohibits rdf:resource="http://web.resource.org/cc/CommercialUse"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
|
|
</div>
|
|
</div>
|
|
<div style="height:1px;"> </div></body>
|
|
</html> |