104 lines
9.1 KiB
HTML
104 lines
9.1 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 255 - 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=16762"><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>Rounded Square Roots</h2><div class="info" style="cursor:help;width:200px;margin-bottom:10px;"><h3>Problem 255</h3><span style="width:300px;color:#666;">Published on Friday, 11th September 2009, 09:00 pm; Solved by 561</span></div>
|
|
<div class="problem_content" role="problem">
|
|
<p>We define the <i>rounded-square-root</i> of a positive integer <var>n</var> as the square root of <var>n</var> rounded to the nearest integer.</p>
|
|
|
|
<p>The following procedure (essentially Heron's method adapted to integer arithmetic) finds the rounded-square-root of <var>n</var>:</p>
|
|
<p>Let <var>d</var> be the number of digits of the number <var>n</var>.<br />
|
|
If <var>d</var> is odd, set <var>x</var><sub>0</sub> = 2<img src='images/symbol_times.gif' width='9' height='9' alt='×' border='0' style='vertical-align:middle;' />10<sup>(<var>d</var>-1)⁄2</sup>.<br />
|
|
If <var>d</var> is even, set <var>x</var><sub>0</sub> = 7<img src='images/symbol_times.gif' width='9' height='9' alt='×' border='0' style='vertical-align:middle;' />10<sup>(<var>d</var>-2)⁄2</sup>.<br />
|
|
Repeat:</p>
|
|
<p align='center'>
|
|
<img src="project/images/p_255_Heron.gif" /></p>
|
|
<!--
|
|
<table align='center'>
|
|
<tr><td><var>x</var><sub><var>k</var>+1</sub> =</td>
|
|
<td style='font-size:220%'>⌊</td>
|
|
<td style='text-align:center;'><var>x</var><sub><var>k</var></sub> + <img src='images/symbol_lceil.gif' width='6' height='16' alt='⌈' border='0' style='vertical-align:middle;' /><var>n</var>⁄<var>x</var><sub><var>k</var></sub><img src='images/symbol_rceil.gif' width='6' height='16' alt='⌉' border='0' style='vertical-align:middle;' /><br />
|
|
<img src='images/blackdot.gif' width='75' height='1' alt='' /><br />
|
|
2</td><td><td style='font-size:220%'>⌋</td></tr>
|
|
</table> -->
|
|
|
|
<p>until <var>x</var><sub><var>k</var>+1</sub> = <var>x</var><sub><var>k</var></sub>.
|
|
</p>
|
|
<p>As an example, let us find the rounded-square-root of <var>n</var> = 4321.<br />
|
|
<var>n</var> has 4 digits, so <var>x</var><sub>0</sub> = 7<img src='images/symbol_times.gif' width='9' height='9' alt='×' border='0' style='vertical-align:middle;' />10<sup>(4-2)⁄2</sup> = 70.<br />
|
|
<img src='project/images/p_255_Example.gif'>
|
|
<!--<var>x</var><sub>1</sub> = <img src='images/symbol_lfloor.gif' width='6' height='16' alt='⌊' border='0' style='vertical-align:middle;' />(70 + <img src='images/symbol_lceil.gif' width='6' height='16' alt='⌈' border='0' style='vertical-align:middle;' />4321⁄70<img src='images/symbol_rceil.gif' width='6' height='16' alt='⌉' border='0' style='vertical-align:middle;' />)⁄2<img src='images/symbol_rfloor.gif' width='6' height='16' alt='⌋' border='0' style='vertical-align:middle;' /> = 66.<br />
|
|
<var>x</var><sub>2</sub> = <img src='images/symbol_lfloor.gif' width='6' height='16' alt='⌊' border='0' style='vertical-align:middle;' />(66 + <img src='images/symbol_lceil.gif' width='6' height='16' alt='⌈' border='0' style='vertical-align:middle;' />4321⁄66<img src='images/symbol_rceil.gif' width='6' height='16' alt='⌉' border='0' style='vertical-align:middle;' />)⁄2<img src='images/symbol_rfloor.gif' width='6' height='16' alt='⌋' border='0' style='vertical-align:middle;' /> = 66.--><br />
|
|
Since <var>x</var><sub>2</sub> = <var>x</var><sub>1</sub>, we stop here.<br />
|
|
So, after just two iterations, we have found that the rounded-square-root of 4321 is 66 (the actual square root is 65.7343137…).
|
|
</p>
|
|
<p>The number of iterations required when using this method is surprisingly low.<br />
|
|
For example, we can find the rounded-square-root of a 5-digit integer (10,000 <img src='images/symbol_le.gif' width='10' height='12' alt='≤' border='0' style='vertical-align:middle;' /> <var>n</var> <img src='images/symbol_le.gif' width='10' height='12' alt='≤' border='0' style='vertical-align:middle;' /> 99,999) with an average of 3.2102888889 iterations (the average value was rounded to 10 decimal places).
|
|
</p>
|
|
<p>Using the procedure described above, what is the average number of iterations required to find the rounded-square-root of a 14-digit number (10<sup>13</sup> <img src='images/symbol_le.gif' width='10' height='12' alt='≤' border='0' style='vertical-align:middle;' /> <var>n</var> <img src='images/symbol_lt.gif' width='10' height='10' alt='<' border='0' style='vertical-align:middle;' /> 10<sup>14</sup>)?<br />
|
|
Give your answer rounded to 10 decimal places.
|
|
</p>
|
|
<p>Note: The symbols <img src='images/symbol_lfloor.gif' width='6' height='16' alt='⌊' border='0' style='vertical-align:middle;' /><var>x</var><img src='images/symbol_rfloor.gif' width='6' height='16' alt='⌋' border='0' style='vertical-align:middle;' /> and <img src='images/symbol_lceil.gif' width='6' height='16' alt='⌈' border='0' style='vertical-align:middle;' /><var>x</var><img src='images/symbol_rceil.gif' width='6' height='16' alt='⌉' border='0' style='vertical-align:middle;' /> represent the <dfn title='the largest integer not greater than x'>floor function</dfn> and <dfn title='the smallest integer not less than x'>ceiling function</dfn> respectively.
|
|
</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> |