Solved 61, 62, 63.
This commit is contained in:
@@ -11786,6 +11786,144 @@ div#notebook {
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [1]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">itertools</span> <span class="k">import</span> <span class="n">combinations</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">concatenate_all</span><span class="p">(</span><span class="n">numbers</span><span class="p">):</span>
|
||||
<span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">combinations</span><span class="p">(</span><span class="n">numbers</span><span class="p">,</span> <span class="mi">2</span><span class="p">):</span>
|
||||
<span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">])</span>
|
||||
<span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">b</span><span class="p">,</span> <span class="n">a</span><span class="p">])</span>
|
||||
<span class="k">return</span> <span class="n">result</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">concatenate_all</span><span class="p">([</span><span class="mi">3</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">109</span><span class="p">,</span> <span class="mi">673</span><span class="p">]))</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="output_wrapper">
|
||||
<div class="output">
|
||||
<div class="output_area">
|
||||
<div class="prompt"></div>
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>[[3, 7], [7, 3], [3, 109], [109, 3], [3, 673], [673, 3], [7, 109], [109, 7], [7, 673], [673, 7], [109, 673], [673, 109]]
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [2]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">sieve_of_eratosthenes</span><span class="p">(</span><span class="n">limit</span><span class="p">):</span>
|
||||
<span class="n">primes</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">prospects</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">limit</span><span class="p">)]</span>
|
||||
<span class="k">while</span> <span class="n">prospects</span><span class="p">:</span>
|
||||
<span class="n">p</span> <span class="o">=</span> <span class="n">prospects</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">prospects</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">prospects</span> <span class="k">if</span> <span class="n">x</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">primes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">p</span> <span class="o">*</span> <span class="n">p</span> <span class="o">></span> <span class="n">limit</span><span class="p">:</span>
|
||||
<span class="k">break</span>
|
||||
<span class="n">primes</span> <span class="o">+=</span> <span class="n">prospects</span>
|
||||
<span class="k">return</span> <span class="n">primes</span>
|
||||
|
||||
<span class="n">primes</span> <span class="o">=</span> <span class="n">sieve_of_eratosthenes</span><span class="p">(</span><span class="mi">100000</span><span class="p">)</span>
|
||||
<span class="n">primes_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">primes</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [3]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">is_prime</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">n</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="kc">False</span>
|
||||
<span class="k">while</span> <span class="n">n</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">n</span> <span class="o">//=</span> <span class="mi">2</span>
|
||||
<span class="n">f</span> <span class="o">=</span> <span class="mi">3</span>
|
||||
<span class="k">while</span> <span class="n">f</span> <span class="o">*</span> <span class="n">f</span> <span class="o"><=</span> <span class="n">n</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">n</span> <span class="o">%</span> <span class="n">f</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="kc">False</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">f</span> <span class="o">+=</span> <span class="mi">2</span>
|
||||
<span class="k">return</span> <span class="kc">True</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">concatentation_is_prime</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
<span class="n">ab</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">))</span>
|
||||
<span class="n">ba</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">a</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">is_prime</span><span class="p">(</span><span class="n">ab</span><span class="p">)</span> <span class="ow">and</span> <span class="n">is_prime</span><span class="p">(</span><span class="n">ba</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="kc">True</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="kc">False</span>
|
||||
|
||||
<span class="k">assert</span><span class="p">(</span><span class="n">concatentation_is_prime</span><span class="p">(</span><span class="mi">673</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span>
|
||||
<span class="k">assert</span><span class="p">(</span><span class="n">concatentation_is_prime</span><span class="p">(</span><span class="mi">673</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="o">==</span> <span class="kc">False</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [4]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">potentials</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">new_potentials</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">done</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">primes</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">done</span><span class="p">:</span>
|
||||
<span class="k">break</span>
|
||||
<span class="n">potentials</span> <span class="o">+=</span> <span class="n">new_potentials</span>
|
||||
<span class="n">new_potentials</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">potential</span> <span class="ow">in</span> <span class="n">potentials</span><span class="p">:</span>
|
||||
<span class="n">all_concatenations_prime</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="k">for</span> <span class="n">prime</span> <span class="ow">in</span> <span class="n">potential</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">concatentation_is_prime</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">prime</span><span class="p">):</span>
|
||||
<span class="n">all_concatenations_prime</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="k">break</span>
|
||||
<span class="k">if</span> <span class="n">all_concatenations_prime</span><span class="p">:</span>
|
||||
<span class="n">new_potential</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">potential</span><span class="p">)</span>
|
||||
<span class="n">new_potential</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">new_potential</span><span class="p">)</span> <span class="o">></span> <span class="mi">4</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">new_potential</span><span class="p">)</span>
|
||||
<span class="n">s</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="n">new_potential</span><span class="p">)</span>
|
||||
<span class="n">done</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="k">break</span>
|
||||
<span class="n">new_potentials</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">new_potential</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">p</span> <span class="o"><</span> <span class="mi">15</span><span class="p">:</span>
|
||||
<span class="n">potentials</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">p</span><span class="p">])</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
|
||||
<span class="k">assert</span><span class="p">(</span><span class="n">s</span> <span class="o">==</span> <span class="mi">26033</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="output_wrapper">
|
||||
<div class="output">
|
||||
<div class="output_area">
|
||||
<div class="prompt"></div>
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>[13, 5197, 5701, 6733, 8389]
|
||||
26033
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell border-box-sizing code_cell rendered">
|
||||
<div class="input">
|
||||
<div class="prompt input_prompt">In [ ]:</div>
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
|
||||
Reference in New Issue
Block a user