Verified 53 til 57.

main
Felix Martin 2018-12-24 18:41:37 -05:00
parent 147a13a01f
commit 0ee19fa69f
9 changed files with 132 additions and 63 deletions

View File

@ -51,7 +51,9 @@
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"count = 0\n",
@ -93,7 +95,7 @@
}
],
"metadata": {
"completion_date": "",
"completion_date": "Mon, 24 Dec 2018, 23:29",
"kernelspec": {
"display_name": "Python 3",
"language": "python3.6",
@ -111,7 +113,12 @@
"pygments_lexer": "ipython3",
"version": "3.6.5"
},
"tags": []
"tags": [
"combinatoric",
"selection",
"factorial",
"airplane"
]
},
"nbformat": 4,
"nbformat_minor": 2

View File

@ -60,7 +60,9 @@
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def suit_to_value(suit):\n",
@ -110,7 +112,9 @@
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def get_numbered_groups(ns):\n",
@ -142,7 +146,9 @@
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def rank(hand):\n",
@ -187,7 +193,9 @@
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"assert(rank([\"5H\", \"5C\", \"6S\", \"7S\", \"KD\"]) == [1, [(2, 5), (1, 13), (1, 7), (1, 6)]]) # Pair of Fives\n",
@ -205,7 +213,9 @@
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def read_hands():\n",
@ -262,7 +272,7 @@
}
],
"metadata": {
"completion_date": "",
"completion_date": "Mon, 24 Dec 2018, 23:30",
"kernelspec": {
"display_name": "Python 3",
"language": "python3.6",
@ -280,7 +290,10 @@
"pygments_lexer": "ipython3",
"version": "3.6.5"
},
"tags": []
"tags": [
"poker",
"airplane"
]
},
"nbformat": 4,
"nbformat_minor": 2

View File

@ -38,8 +38,10 @@
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def get_digits(n):\n",
@ -80,8 +82,10 @@
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def is_not_lychrel(n, iterations=50):\n",
@ -98,7 +102,7 @@
},
{
"cell_type": "code",
"execution_count": 27,
"execution_count": 3,
"metadata": {},
"outputs": [
{
@ -112,7 +116,8 @@
"source": [
"lychrels = [n for n in range(1, 10000) if is_not_lychrel(n) == 0]\n",
"s = len(lychrels)\n",
"print(s)"
"print(s)\n",
"assert(s == 249)"
]
},
{
@ -126,7 +131,7 @@
}
],
"metadata": {
"completion_date": "",
"completion_date": "Mon, 24 Dec 2018, 23:32",
"kernelspec": {
"display_name": "Python 3",
"language": "python3.6",
@ -144,7 +149,10 @@
"pygments_lexer": "ipython3",
"version": "3.6.5"
},
"tags": []
"tags": [
"lychrel",
"airplane"
]
},
"nbformat": 4,
"nbformat_minor": 2

View File

@ -20,7 +20,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 1,
"metadata": {
"collapsed": true
},
@ -39,7 +39,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 2,
"metadata": {},
"outputs": [
{
@ -52,7 +52,8 @@
],
"source": [
"s = max([get_digit_sum(a**b) for a in range(1, 100) for b in range(1, 100)])\n",
"print(s)"
"print(s)\n",
"assert(s == 972)"
]
},
{
@ -66,7 +67,7 @@
}
],
"metadata": {
"completion_date": "",
"completion_date": "Mon, 24 Dec 2018, 23:33",
"kernelspec": {
"display_name": "Python 3",
"language": "python3.6",
@ -84,7 +85,10 @@
"pygments_lexer": "ipython3",
"version": "3.6.5"
},
"tags": []
"tags": [
"power",
"brute force"
]
},
"nbformat": 4,
"nbformat_minor": 2

View File

@ -36,23 +36,23 @@
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"def get_digit_count(n):\n",
" c = 1\n",
" c = 0\n",
" while n:\n",
" n += 1\n",
" c += 1\n",
" n //= 10\n",
" return d"
" return c\n",
"\n",
"assert(get_digit_count(1337) == 4)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"execution_count": 2,
"metadata": {
"collapsed": true
},
@ -78,10 +78,8 @@
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": true
},
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def next_expension(n, d):\n",
@ -92,14 +90,14 @@
"\n",
"n, d = (3, 2)\n",
"for i in range(1000):\n",
" if get_digit_count(n)> get_digit_count(d):\n",
" if get_digit_count(n) > get_digit_count(d):\n",
" c += 1\n",
" n, d = next_expension(n, d)"
]
},
{
"cell_type": "code",
"execution_count": 55,
"execution_count": 4,
"metadata": {},
"outputs": [
{
@ -112,7 +110,8 @@
],
"source": [
"s = c\n",
"print(s)"
"print(s)\n",
"assert(s == 153)"
]
},
{
@ -126,7 +125,7 @@
}
],
"metadata": {
"completion_date": "",
"completion_date": "Mon, 24 Dec 2018, 23:35",
"kernelspec": {
"display_name": "Python 3",
"language": "python3.6",
@ -144,7 +143,12 @@
"pygments_lexer": "ipython3",
"version": "3.6.5"
},
"tags": []
"tags": [
"square root",
"gcd",
"airplane",
"fractions"
]
},
"nbformat": 4,
"nbformat_minor": 2

View File

@ -11794,7 +11794,7 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [10]:</div>
<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="k">def</span> <span class="nf">get_digits</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
@ -11838,7 +11838,7 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [24]:</div>
<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">is_not_lychrel</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">iterations</span><span class="o">=</span><span class="mi">50</span><span class="p">):</span>
@ -11858,12 +11858,13 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [27]:</div>
<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="n">lychrels</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">1</span><span class="p">,</span> <span class="mi">10000</span><span class="p">)</span> <span class="k">if</span> <span class="n">is_not_lychrel</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">]</span>
<span class="n">s</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">lychrels</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">249</span><span class="p">)</span>
</pre></div>
</div>
</div>

View File

@ -11785,7 +11785,7 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [3]:</div>
<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="k">def</span> <span class="nf">get_digit_sum</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
@ -11804,11 +11804,12 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [8]:</div>
<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="n">s</span> <span class="o">=</span> <span class="nb">max</span><span class="p">([</span><span class="n">get_digit_sum</span><span class="p">(</span><span class="n">a</span><span class="o">**</span><span class="n">b</span><span class="p">)</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">100</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">972</span><span class="p">)</span>
</pre></div>
</div>
</div>

View File

@ -11793,15 +11793,17 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [ ]:</div>
<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="k">def</span> <span class="nf">get_digit_count</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
<span class="n">c</span> <span class="o">=</span> <span class="mi">1</span>
<span class="n">c</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">while</span> <span class="n">n</span><span class="p">:</span>
<span class="n">n</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="n">c</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="n">n</span> <span class="o">//=</span> <span class="mi">10</span>
<span class="k">return</span> <span class="n">d</span>
<span class="k">return</span> <span class="n">c</span>
<span class="k">assert</span><span class="p">(</span><span class="n">get_digit_count</span><span class="p">(</span><span class="mi">1337</span><span class="p">)</span> <span class="o">==</span> <span class="mi">4</span><span class="p">)</span>
</pre></div>
</div>
</div>
@ -11809,7 +11811,7 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [44]:</div>
<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">gcd</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
@ -11835,7 +11837,7 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [54]:</div>
<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">next_expension</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
@ -11846,7 +11848,7 @@ div#notebook {
<span class="n">n</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1000</span><span class="p">):</span>
<span class="k">if</span> <span class="n">get_digit_count</span><span class="p">(</span><span class="n">n</span><span class="p">)</span><span class="o">&gt;</span> <span class="n">get_digit_count</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
<span class="k">if</span> <span class="n">get_digit_count</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">&gt;</span> <span class="n">get_digit_count</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
<span class="n">c</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="n">n</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="n">next_expension</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span>
</pre></div>
@ -11856,11 +11858,12 @@ div#notebook {
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [55]:</div>
<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">s</span> <span class="o">=</span> <span class="n">c</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">153</span><span class="p">)</span>
</pre></div>
</div>
</div>

View File

@ -839,52 +839,80 @@
</tr>
<tr class="table-warning">
<tr>
<td><a href="EulerProblem053.html">Problem 053</a></td>
<td></td>
<td>Mon, 24 Dec 2018, 23:29</td>
<td>
<kbd>combinatoric</kbd>
<kbd>selection</kbd>
<kbd>factorial</kbd>
<kbd>airplane</kbd>
</td>
</tr>
<tr class="table-warning">
<tr>
<td><a href="EulerProblem054.html">Problem 054</a></td>
<td></td>
<td>Mon, 24 Dec 2018, 23:30</td>
<td>
<kbd>poker</kbd>
<kbd>airplane</kbd>
</td>
</tr>
<tr class="table-warning">
<tr>
<td><a href="EulerProblem055.html">Problem 055</a></td>
<td></td>
<td>Mon, 24 Dec 2018, 23:32</td>
<td>
<kbd>lychrel</kbd>
<kbd>airplane</kbd>
</td>
</tr>
<tr class="table-warning">
<tr>
<td><a href="EulerProblem056.html">Problem 056</a></td>
<td></td>
<td>Mon, 24 Dec 2018, 23:33</td>
<td>
<kbd>power</kbd>
<kbd>brute force</kbd>
</td>
</tr>
<tr class="table-warning">
<tr>
<td><a href="EulerProblem057.html">Problem 057</a></td>
<td></td>
<td>Mon, 24 Dec 2018, 23:35</td>
<td>
<kbd>square root</kbd>
<kbd>gcd</kbd>
<kbd>airplane</kbd>
<kbd>fractions</kbd>
</td>
</tr>