mirror of
https://github.com/DeaDvey/mathgenerator.git
synced 2025-11-28 06:25:23 +01:00
Add simplify_square_root (#413)
* Create simplify_square_roots_generator * Adopt simplify_square_root to standards * lint fixes * lint fix Co-authored-by: Hardik Gupta <96004638+typhoons01@users.noreply.github.com>
This commit is contained in:
@@ -100,7 +100,7 @@ mathgenerator </h1>
|
||||
|
||||
<p>A math problem generator, created for the purpose of giving teachers and students the means to easily get access to random math exercises to suit their needs.</p>
|
||||
|
||||
<p>To try out generators, go to <a href="https://lukew3.github.io/mathgenerator">https://lukew3.github.io/mathgenerator</a></p>
|
||||
<p>To try out generators, go to <a href="https://mathgenerator-demo.netlify.app">https://mathgenerator-demo.netlify.app</a></p>
|
||||
|
||||
<p>See <a href="https://github.com/lukew3/mathgenerator/blob/main/CONTRIBUTING.md">CONTRIBUTING.md</a> for information about how to contribute.</p>
|
||||
|
||||
@@ -175,7 +175,7 @@ Problem/solution pairs are generated with either:</p>
|
||||
You can also use <code><a href="#getGenList">getGenList()</a></code> to return a list of all generators included in the library in the format:</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>[id, title, gen_func, funcname, subjectname, kwargs]
|
||||
<pre><code>[funcname, subjectname]
|
||||
</code></pre>
|
||||
|
||||
<h2 id="documentation">Documentation</h2>
|
||||
|
||||
@@ -200,7 +200,8 @@
|
||||
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="p">(</span><span class="s2">"surface_area_pyramid"</span><span class="p">,</span> <span class="s2">"geometry"</span><span class="p">),</span>
|
||||
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="p">(</span><span class="s2">"is_composite"</span><span class="p">,</span> <span class="s2">"basic_math"</span><span class="p">),</span>
|
||||
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="p">(</span><span class="s2">"complementary_and_supplementary_angle"</span><span class="p">,</span> <span class="s2">"geometry"</span><span class="p">),</span>
|
||||
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a><span class="p">]</span>
|
||||
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="p">(</span><span class="s2">"simplify_square_root"</span><span class="p">,</span> <span class="s2">"basic_math"</span><span class="p">),</span>
|
||||
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a><span class="p">]</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
||||
@@ -112,6 +112,9 @@
|
||||
<li>
|
||||
<a class="function" href="#square_root">square_root</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#simplify_square_root">simplify_square_root</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#subtraction">subtraction</a>
|
||||
</li>
|
||||
@@ -529,18 +532,49 @@
|
||||
</span><span id="L-391"><a href="#L-391"><span class="linenos">391</span></a> <span class="k">return</span> <span class="sa">rf</span><span class="s1">'$\sqrt</span><span class="se">{{</span><span class="si">{</span><span class="n">a</span><span class="si">}</span><span class="se">}}</span><span class="s1">=$'</span><span class="p">,</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">b</span><span class="si">}</span><span class="s1">$'</span>
|
||||
</span><span id="L-392"><a href="#L-392"><span class="linenos">392</span></a>
|
||||
</span><span id="L-393"><a href="#L-393"><span class="linenos">393</span></a>
|
||||
</span><span id="L-394"><a href="#L-394"><span class="linenos">394</span></a><span class="k">def</span> <span class="nf">subtraction</span><span class="p">(</span><span class="n">max_minuend</span><span class="o">=</span><span class="mi">99</span><span class="p">,</span> <span class="n">max_diff</span><span class="o">=</span><span class="mi">99</span><span class="p">):</span>
|
||||
</span><span id="L-395"><a href="#L-395"><span class="linenos">395</span></a> <span class="sa">r</span><span class="sd">"""Subtraction of two numbers</span>
|
||||
</span><span id="L-394"><a href="#L-394"><span class="linenos">394</span></a><span class="k">def</span> <span class="nf">simplify_square_root</span><span class="p">(</span><span class="n">max_variable</span><span class="o">=</span><span class="mi">100</span><span class="p">):</span>
|
||||
</span><span id="L-395"><a href="#L-395"><span class="linenos">395</span></a> <span class="sa">r</span><span class="sd">"""Simplify Square Root</span>
|
||||
</span><span id="L-396"><a href="#L-396"><span class="linenos">396</span></a>
|
||||
</span><span id="L-397"><a href="#L-397"><span class="linenos">397</span></a><span class="sd"> | Ex. Problem | Ex. Solution |</span>
|
||||
</span><span id="L-398"><a href="#L-398"><span class="linenos">398</span></a><span class="sd"> | --- | --- |</span>
|
||||
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a><span class="sd"> | $54-22=$ | $32$ |</span>
|
||||
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a><span class="sd"> | $\sqrt{63}$ | $3\sqrt{7}$ |</span>
|
||||
</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-401"><a href="#L-401"><span class="linenos">401</span></a> <span class="n">a</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">max_minuend</span><span class="p">)</span>
|
||||
</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a> <span class="n">b</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="n">a</span> <span class="o">-</span> <span class="n">max_diff</span><span class="p">)),</span> <span class="n">a</span><span class="p">)</span>
|
||||
</span><span id="L-403"><a href="#L-403"><span class="linenos">403</span></a> <span class="n">c</span> <span class="o">=</span> <span class="n">a</span> <span class="o">-</span> <span class="n">b</span>
|
||||
</span><span id="L-404"><a href="#L-404"><span class="linenos">404</span></a>
|
||||
</span><span id="L-405"><a href="#L-405"><span class="linenos">405</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">a</span><span class="si">}</span><span class="s1">-</span><span class="si">{</span><span class="n">b</span><span class="si">}</span><span class="s1">=$'</span><span class="p">,</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">c</span><span class="si">}</span><span class="s1">$'</span>
|
||||
</span><span id="L-401"><a href="#L-401"><span class="linenos">401</span></a> <span class="n">y</span> <span class="o">=</span> <span class="n">x</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">max_variable</span><span class="p">)</span>
|
||||
</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a> <span class="n">factors</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-403"><a href="#L-403"><span class="linenos">403</span></a> <span class="n">f</span> <span class="o">=</span> <span class="mi">2</span>
|
||||
</span><span id="L-404"><a href="#L-404"><span class="linenos">404</span></a> <span class="k">while</span> <span class="n">x</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="L-405"><a href="#L-405"><span class="linenos">405</span></a> <span class="k">if</span> <span class="n">x</span> <span class="o">%</span> <span class="n">f</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-406"><a href="#L-406"><span class="linenos">406</span></a> <span class="k">if</span> <span class="n">f</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">factors</span><span class="p">:</span>
|
||||
</span><span id="L-407"><a href="#L-407"><span class="linenos">407</span></a> <span class="n">factors</span><span class="p">[</span><span class="n">f</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</span><span id="L-408"><a href="#L-408"><span class="linenos">408</span></a> <span class="n">factors</span><span class="p">[</span><span class="n">f</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
</span><span id="L-409"><a href="#L-409"><span class="linenos">409</span></a> <span class="n">x</span> <span class="o">/=</span> <span class="n">f</span>
|
||||
</span><span id="L-410"><a href="#L-410"><span class="linenos">410</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a> <span class="n">f</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a> <span class="n">a</span> <span class="o">=</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">1</span>
|
||||
</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">factors</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
|
||||
</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a> <span class="k">if</span> <span class="n">factors</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">&</span><span class="mi">1</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a> <span class="n">a</span> <span class="o">*=</span> <span class="n">i</span> <span class="o">**</span> <span class="p">(</span><span class="n">factors</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">//</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a> <span class="n">a</span> <span class="o">*=</span> <span class="n">i</span> <span class="o">**</span> <span class="p">((</span><span class="n">factors</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">//</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a> <span class="n">b</span> <span class="o">*=</span> <span class="n">i</span>
|
||||
</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a> <span class="k">if</span> <span class="n">a</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">b</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="L-420"><a href="#L-420"><span class="linenos">420</span></a> <span class="k">return</span> <span class="n">simplify_square_root</span><span class="p">(</span><span class="n">max_variable</span><span class="p">)</span>
|
||||
</span><span id="L-421"><a href="#L-421"><span class="linenos">421</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-422"><a href="#L-422"><span class="linenos">422</span></a> <span class="k">return</span> <span class="sa">rf</span><span class="s1">'$\sqrt</span><span class="se">{{</span><span class="si">{</span><span class="n">y</span><span class="si">}</span><span class="se">}}</span><span class="s1">$'</span><span class="p">,</span> <span class="sa">rf</span><span class="s1">'$</span><span class="si">{</span><span class="n">a</span><span class="si">}</span><span class="s1">\sqrt</span><span class="se">{{</span><span class="si">{</span><span class="n">b</span><span class="si">}</span><span class="se">}}</span><span class="s1">$'</span>
|
||||
</span><span id="L-423"><a href="#L-423"><span class="linenos">423</span></a>
|
||||
</span><span id="L-424"><a href="#L-424"><span class="linenos">424</span></a>
|
||||
</span><span id="L-425"><a href="#L-425"><span class="linenos">425</span></a><span class="k">def</span> <span class="nf">subtraction</span><span class="p">(</span><span class="n">max_minuend</span><span class="o">=</span><span class="mi">99</span><span class="p">,</span> <span class="n">max_diff</span><span class="o">=</span><span class="mi">99</span><span class="p">):</span>
|
||||
</span><span id="L-426"><a href="#L-426"><span class="linenos">426</span></a> <span class="sa">r</span><span class="sd">"""Subtraction of two numbers</span>
|
||||
</span><span id="L-427"><a href="#L-427"><span class="linenos">427</span></a>
|
||||
</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a><span class="sd"> | Ex. Problem | Ex. Solution |</span>
|
||||
</span><span id="L-429"><a href="#L-429"><span class="linenos">429</span></a><span class="sd"> | --- | --- |</span>
|
||||
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a><span class="sd"> | $54-22=$ | $32$ |</span>
|
||||
</span><span id="L-431"><a href="#L-431"><span class="linenos">431</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-432"><a href="#L-432"><span class="linenos">432</span></a> <span class="n">a</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">max_minuend</span><span class="p">)</span>
|
||||
</span><span id="L-433"><a href="#L-433"><span class="linenos">433</span></a> <span class="n">b</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="n">a</span> <span class="o">-</span> <span class="n">max_diff</span><span class="p">)),</span> <span class="n">a</span><span class="p">)</span>
|
||||
</span><span id="L-434"><a href="#L-434"><span class="linenos">434</span></a> <span class="n">c</span> <span class="o">=</span> <span class="n">a</span> <span class="o">-</span> <span class="n">b</span>
|
||||
</span><span id="L-435"><a href="#L-435"><span class="linenos">435</span></a>
|
||||
</span><span id="L-436"><a href="#L-436"><span class="linenos">436</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">a</span><span class="si">}</span><span class="s1">-</span><span class="si">{</span><span class="n">b</span><span class="si">}</span><span class="s1">=$'</span><span class="p">,</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">c</span><span class="si">}</span><span class="s1">$'</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
@@ -1576,6 +1610,69 @@
|
||||
</div>
|
||||
|
||||
|
||||
</section>
|
||||
<section id="simplify_square_root">
|
||||
<input id="simplify_square_root-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">simplify_square_root</span><span class="signature pdoc-code condensed">(<span class="param"><span class="n">max_variable</span><span class="o">=</span><span class="mi">100</span></span><span class="return-annotation">):</span></span>
|
||||
|
||||
<label class="view-source-button" for="simplify_square_root-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#simplify_square_root"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="simplify_square_root-395"><a href="#simplify_square_root-395"><span class="linenos">395</span></a><span class="k">def</span> <span class="nf">simplify_square_root</span><span class="p">(</span><span class="n">max_variable</span><span class="o">=</span><span class="mi">100</span><span class="p">):</span>
|
||||
</span><span id="simplify_square_root-396"><a href="#simplify_square_root-396"><span class="linenos">396</span></a> <span class="sa">r</span><span class="sd">"""Simplify Square Root</span>
|
||||
</span><span id="simplify_square_root-397"><a href="#simplify_square_root-397"><span class="linenos">397</span></a>
|
||||
</span><span id="simplify_square_root-398"><a href="#simplify_square_root-398"><span class="linenos">398</span></a><span class="sd"> | Ex. Problem | Ex. Solution |</span>
|
||||
</span><span id="simplify_square_root-399"><a href="#simplify_square_root-399"><span class="linenos">399</span></a><span class="sd"> | --- | --- |</span>
|
||||
</span><span id="simplify_square_root-400"><a href="#simplify_square_root-400"><span class="linenos">400</span></a><span class="sd"> | $\sqrt{63}$ | $3\sqrt{7}$ |</span>
|
||||
</span><span id="simplify_square_root-401"><a href="#simplify_square_root-401"><span class="linenos">401</span></a><span class="sd"> """</span>
|
||||
</span><span id="simplify_square_root-402"><a href="#simplify_square_root-402"><span class="linenos">402</span></a> <span class="n">y</span> <span class="o">=</span> <span class="n">x</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">max_variable</span><span class="p">)</span>
|
||||
</span><span id="simplify_square_root-403"><a href="#simplify_square_root-403"><span class="linenos">403</span></a> <span class="n">factors</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="simplify_square_root-404"><a href="#simplify_square_root-404"><span class="linenos">404</span></a> <span class="n">f</span> <span class="o">=</span> <span class="mi">2</span>
|
||||
</span><span id="simplify_square_root-405"><a href="#simplify_square_root-405"><span class="linenos">405</span></a> <span class="k">while</span> <span class="n">x</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="simplify_square_root-406"><a href="#simplify_square_root-406"><span class="linenos">406</span></a> <span class="k">if</span> <span class="n">x</span> <span class="o">%</span> <span class="n">f</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="simplify_square_root-407"><a href="#simplify_square_root-407"><span class="linenos">407</span></a> <span class="k">if</span> <span class="n">f</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">factors</span><span class="p">:</span>
|
||||
</span><span id="simplify_square_root-408"><a href="#simplify_square_root-408"><span class="linenos">408</span></a> <span class="n">factors</span><span class="p">[</span><span class="n">f</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</span><span id="simplify_square_root-409"><a href="#simplify_square_root-409"><span class="linenos">409</span></a> <span class="n">factors</span><span class="p">[</span><span class="n">f</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
</span><span id="simplify_square_root-410"><a href="#simplify_square_root-410"><span class="linenos">410</span></a> <span class="n">x</span> <span class="o">/=</span> <span class="n">f</span>
|
||||
</span><span id="simplify_square_root-411"><a href="#simplify_square_root-411"><span class="linenos">411</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="simplify_square_root-412"><a href="#simplify_square_root-412"><span class="linenos">412</span></a> <span class="n">f</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
</span><span id="simplify_square_root-413"><a href="#simplify_square_root-413"><span class="linenos">413</span></a> <span class="n">a</span> <span class="o">=</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">1</span>
|
||||
</span><span id="simplify_square_root-414"><a href="#simplify_square_root-414"><span class="linenos">414</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">factors</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
|
||||
</span><span id="simplify_square_root-415"><a href="#simplify_square_root-415"><span class="linenos">415</span></a> <span class="k">if</span> <span class="n">factors</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">&</span><span class="mi">1</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="simplify_square_root-416"><a href="#simplify_square_root-416"><span class="linenos">416</span></a> <span class="n">a</span> <span class="o">*=</span> <span class="n">i</span> <span class="o">**</span> <span class="p">(</span><span class="n">factors</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">//</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="simplify_square_root-417"><a href="#simplify_square_root-417"><span class="linenos">417</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="simplify_square_root-418"><a href="#simplify_square_root-418"><span class="linenos">418</span></a> <span class="n">a</span> <span class="o">*=</span> <span class="n">i</span> <span class="o">**</span> <span class="p">((</span><span class="n">factors</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">//</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="simplify_square_root-419"><a href="#simplify_square_root-419"><span class="linenos">419</span></a> <span class="n">b</span> <span class="o">*=</span> <span class="n">i</span>
|
||||
</span><span id="simplify_square_root-420"><a href="#simplify_square_root-420"><span class="linenos">420</span></a> <span class="k">if</span> <span class="n">a</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">b</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="simplify_square_root-421"><a href="#simplify_square_root-421"><span class="linenos">421</span></a> <span class="k">return</span> <span class="n">simplify_square_root</span><span class="p">(</span><span class="n">max_variable</span><span class="p">)</span>
|
||||
</span><span id="simplify_square_root-422"><a href="#simplify_square_root-422"><span class="linenos">422</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="simplify_square_root-423"><a href="#simplify_square_root-423"><span class="linenos">423</span></a> <span class="k">return</span> <span class="sa">rf</span><span class="s1">'$\sqrt</span><span class="se">{{</span><span class="si">{</span><span class="n">y</span><span class="si">}</span><span class="se">}}</span><span class="s1">$'</span><span class="p">,</span> <span class="sa">rf</span><span class="s1">'$</span><span class="si">{</span><span class="n">a</span><span class="si">}</span><span class="s1">\sqrt</span><span class="se">{{</span><span class="si">{</span><span class="n">b</span><span class="si">}</span><span class="se">}}</span><span class="s1">$'</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
<div class="docstring"><p>Simplify Square Root</p>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Ex. Problem</th>
|
||||
<th>Ex. Solution</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>$\sqrt{63}$</td>
|
||||
<td>$3\sqrt{7}$</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
</section>
|
||||
<section id="subtraction">
|
||||
<input id="subtraction-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
@@ -1588,18 +1685,18 @@
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#subtraction"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="subtraction-395"><a href="#subtraction-395"><span class="linenos">395</span></a><span class="k">def</span> <span class="nf">subtraction</span><span class="p">(</span><span class="n">max_minuend</span><span class="o">=</span><span class="mi">99</span><span class="p">,</span> <span class="n">max_diff</span><span class="o">=</span><span class="mi">99</span><span class="p">):</span>
|
||||
</span><span id="subtraction-396"><a href="#subtraction-396"><span class="linenos">396</span></a> <span class="sa">r</span><span class="sd">"""Subtraction of two numbers</span>
|
||||
</span><span id="subtraction-397"><a href="#subtraction-397"><span class="linenos">397</span></a>
|
||||
</span><span id="subtraction-398"><a href="#subtraction-398"><span class="linenos">398</span></a><span class="sd"> | Ex. Problem | Ex. Solution |</span>
|
||||
</span><span id="subtraction-399"><a href="#subtraction-399"><span class="linenos">399</span></a><span class="sd"> | --- | --- |</span>
|
||||
</span><span id="subtraction-400"><a href="#subtraction-400"><span class="linenos">400</span></a><span class="sd"> | $54-22=$ | $32$ |</span>
|
||||
</span><span id="subtraction-401"><a href="#subtraction-401"><span class="linenos">401</span></a><span class="sd"> """</span>
|
||||
</span><span id="subtraction-402"><a href="#subtraction-402"><span class="linenos">402</span></a> <span class="n">a</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">max_minuend</span><span class="p">)</span>
|
||||
</span><span id="subtraction-403"><a href="#subtraction-403"><span class="linenos">403</span></a> <span class="n">b</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="n">a</span> <span class="o">-</span> <span class="n">max_diff</span><span class="p">)),</span> <span class="n">a</span><span class="p">)</span>
|
||||
</span><span id="subtraction-404"><a href="#subtraction-404"><span class="linenos">404</span></a> <span class="n">c</span> <span class="o">=</span> <span class="n">a</span> <span class="o">-</span> <span class="n">b</span>
|
||||
</span><span id="subtraction-405"><a href="#subtraction-405"><span class="linenos">405</span></a>
|
||||
</span><span id="subtraction-406"><a href="#subtraction-406"><span class="linenos">406</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">a</span><span class="si">}</span><span class="s1">-</span><span class="si">{</span><span class="n">b</span><span class="si">}</span><span class="s1">=$'</span><span class="p">,</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">c</span><span class="si">}</span><span class="s1">$'</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="subtraction-426"><a href="#subtraction-426"><span class="linenos">426</span></a><span class="k">def</span> <span class="nf">subtraction</span><span class="p">(</span><span class="n">max_minuend</span><span class="o">=</span><span class="mi">99</span><span class="p">,</span> <span class="n">max_diff</span><span class="o">=</span><span class="mi">99</span><span class="p">):</span>
|
||||
</span><span id="subtraction-427"><a href="#subtraction-427"><span class="linenos">427</span></a> <span class="sa">r</span><span class="sd">"""Subtraction of two numbers</span>
|
||||
</span><span id="subtraction-428"><a href="#subtraction-428"><span class="linenos">428</span></a>
|
||||
</span><span id="subtraction-429"><a href="#subtraction-429"><span class="linenos">429</span></a><span class="sd"> | Ex. Problem | Ex. Solution |</span>
|
||||
</span><span id="subtraction-430"><a href="#subtraction-430"><span class="linenos">430</span></a><span class="sd"> | --- | --- |</span>
|
||||
</span><span id="subtraction-431"><a href="#subtraction-431"><span class="linenos">431</span></a><span class="sd"> | $54-22=$ | $32$ |</span>
|
||||
</span><span id="subtraction-432"><a href="#subtraction-432"><span class="linenos">432</span></a><span class="sd"> """</span>
|
||||
</span><span id="subtraction-433"><a href="#subtraction-433"><span class="linenos">433</span></a> <span class="n">a</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">max_minuend</span><span class="p">)</span>
|
||||
</span><span id="subtraction-434"><a href="#subtraction-434"><span class="linenos">434</span></a> <span class="n">b</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="n">a</span> <span class="o">-</span> <span class="n">max_diff</span><span class="p">)),</span> <span class="n">a</span><span class="p">)</span>
|
||||
</span><span id="subtraction-435"><a href="#subtraction-435"><span class="linenos">435</span></a> <span class="n">c</span> <span class="o">=</span> <span class="n">a</span> <span class="o">-</span> <span class="n">b</span>
|
||||
</span><span id="subtraction-436"><a href="#subtraction-436"><span class="linenos">436</span></a>
|
||||
</span><span id="subtraction-437"><a href="#subtraction-437"><span class="linenos">437</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">a</span><span class="si">}</span><span class="s1">-</span><span class="si">{</span><span class="n">b</span><span class="si">}</span><span class="s1">=$'</span><span class="p">,</span> <span class="sa">f</span><span class="s1">'$</span><span class="si">{</span><span class="n">c</span><span class="si">}</span><span class="s1">$'</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -125,4 +125,5 @@ gen_list = [
|
||||
("surface_area_pyramid", "geometry"),
|
||||
("is_composite", "basic_math"),
|
||||
("complementary_and_supplementary_angle", "geometry"),
|
||||
("simplify_square_root", "basic_math"),
|
||||
]
|
||||
|
||||
@@ -391,6 +391,37 @@ def square_root(min_no=1, max_no=12):
|
||||
return rf'$\sqrt{{{a}}}=$', f'${b}$'
|
||||
|
||||
|
||||
def simplify_square_root(max_variable=100):
|
||||
r"""Simplify Square Root
|
||||
|
||||
| Ex. Problem | Ex. Solution |
|
||||
| --- | --- |
|
||||
| $\sqrt{63}$ | $3\sqrt{7}$ |
|
||||
"""
|
||||
y = x = random.randint(1, max_variable)
|
||||
factors = {}
|
||||
f = 2
|
||||
while x != 1:
|
||||
if x % f == 0:
|
||||
if f not in factors:
|
||||
factors[f] = 0
|
||||
factors[f] += 1
|
||||
x /= f
|
||||
else:
|
||||
f += 1
|
||||
a = b = 1
|
||||
for i in factors.keys():
|
||||
if factors[i] & 1 == 0:
|
||||
a *= i ** (factors[i] // 2)
|
||||
else:
|
||||
a *= i ** ((factors[i] - 1) // 2)
|
||||
b *= i
|
||||
if a == 1 or b == 1:
|
||||
return simplify_square_root(max_variable)
|
||||
else:
|
||||
return rf'$\sqrt{{{y}}}$', rf'${a}\sqrt{{{b}}}$'
|
||||
|
||||
|
||||
def subtraction(max_minuend=99, max_diff=99):
|
||||
r"""Subtraction of two numbers
|
||||
|
||||
|
||||
Reference in New Issue
Block a user