110 lines
7.9 KiB
HTML
110 lines
7.9 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 238 - 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=229be"><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>Infinite string tour</h2><div class="info" style="cursor:help;width:200px;margin-bottom:10px;"><h3>Problem 238</h3><span style="width:300px;color:#666;">Published on Sunday, 29th March 2009, 03:00 pm; Solved by 606</span></div>
|
|
<div class="problem_content" role="problem">
|
|
<style type="text/css">
|
|
table.p238 td { padding: 0px 3px 0px 3px; }
|
|
</style>
|
|
|
|
<p>Create a sequence of numbers using the "Blum Blum Shub" pseudo-random number generator:</p>
|
|
|
|
<center><table class="p238">
|
|
<tr>
|
|
<td style="text-align:right"><var>s</var><sub>0</sub></td>
|
|
<td>=</td>
|
|
<td>14025256</td>
|
|
</tr><tr>
|
|
<td><var>s</var><sub><var>n</var>+1</sub></td>
|
|
<td>=</td>
|
|
<td><var>s</var><sub><var>n</var></sub><sup>2</sup> mod 20300713</td>
|
|
</tr>
|
|
</table></center>
|
|
|
|
<p>Concatenate these numbers  <var>s</var><sub>0</sub><var>s</var><sub>1</sub><var>s</var><sub>2</sub>… to create a string <var>w</var> of infinite length.<br />
|
|
Then, <var>w</var> = <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>14025256741014958470038053646…</span></p>
|
|
|
|
<p>For a positive integer <var>k</var>, if no substring of <var>w</var> exists with a sum of digits equal to <var>k</var>, <var>p</var>(<var>k</var>) is defined to be zero. If at least one substring of <var>w</var> exists with a sum of digits equal to <var>k</var>, we define <var>p</var>(<var>k</var>) = <var>z</var>, where <var>z</var> is the starting position of the earliest such substring.</p>
|
|
|
|
<p>For instance:</p>
|
|
|
|
<p>The substrings <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>1</span>, <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>14</span>, <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>1402</span>, … <br />
|
|
with respective sums of digits equal to 1, 5, 7, …<br />
|
|
start at position <b>1</b>, hence <var>p</var>(1) = <var>p</var>(5) = <var>p</var>(7) = … = <b>1</b>.</p>
|
|
|
|
<p>The substrings <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>4</span>, <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>402</span>, <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>4025</span>, …<br />
|
|
with respective sums of digits equal to 4, 6, 11, …<br />
|
|
start at position <b>2</b>, hence <var>p</var>(4) = <var>p</var>(6) = <var>p</var>(11) = … = <b>2</b>.</p>
|
|
|
|
<p>The substrings <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>02</span>, <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>0252</span>, …<br />
|
|
with respective sums of digits equal to 2, 9, …<br />
|
|
start at position <b>3</b>, hence <var>p</var>(2) = <var>p</var>(9) = … = <b>3</b>.<p>
|
|
|
|
<p>Note that substring <span style='font-family:courier new;font-size:12pt;color:#0000ff;'>025</span> starting at position <b>3</b>, has a sum of digits equal to 7, but there was an earlier substring (starting at position <b>1</b>) with a sum of digits equal to 7, so <var>p</var>(7) = 1, <i>not</i> 3.</p>
|
|
|
|
<p>We can verify that, for 0 < <var>k</var> <img src='images/symbol_le.gif' width='10' height='12' alt='≤' border='0' style='vertical-align:middle;' /> 10<sup>3</sup>, <img src='images/symbol_sum.gif' width='11' height='14' alt='∑' border='0' style='vertical-align:middle;' /> <var>p</var>(<var>k</var>) = 4742.</p>
|
|
|
|
<p>Find <img src='images/symbol_sum.gif' width='11' height='14' alt='∑' border='0' style='vertical-align:middle;' /> <var>p</var>(<var>k</var>), for 0 < <var>k</var> <img src='images/symbol_le.gif' width='10' height='12' alt='≤' border='0' style='vertical-align:middle;' /> 2·10<sup>15</sup>.</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> |