Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>You can do better without list reversal. WLOG I'll assume that both lists have equal length (prepend with 0 if necessary).</p> <p>Start the addition from left to right (from most significant to least significant digit). You have three cases, depending of the sum of two digits:</p> <ol> <li>= 9: keep the nine and increase a <code>counter</code></li> <li>&lt; 9: write <code>counter</code> x nine, write sum, reset <code>counter</code></li> <li><blockquote> <p>9: increase last digit, write <code>counter</code> x zero, write sum (modulo 10), reset counter</p> </blockquote></li> </ol> <p>I'll work on the following example:</p> <pre><code>2 568 794 + 1 438 204 --------- = 4 006 998 </code></pre> <ol> <li>Add <code>2 + 1 = 3</code>: case 3. <ul> <li><code>list = (3)</code>, <code>counter = 0</code></li> </ul></li> <li>Add <code>5 + 4 = 9</code>: case 1 <ul> <li><code>list = (3)</code>, <code>counter = 1</code></li> </ul></li> <li>Add <code>6 + 4 = 9</code>: case 1 <ul> <li><code>list = (3)</code>, <code>counter = 2</code></li> </ul></li> <li>Add <code>8 + 8 = 16</code>: case 3 <ul> <li><code>list = (4, 0, 0, 6)</code>, <code>counter = 0</code></li> </ul></li> <li>Add <code>7 + 2 = 9</code>: case 1 <ul> <li><code>list = (4, 0, 0, 6)</code>, <code>counter = 1</code></li> </ul></li> <li>Add <code>9 + 0 = 9</code>: case 1 <ul> <li><code>list = (4, 0, 0, 6)</code>, <code>counter = 2</code></li> </ul></li> <li>Add <code>4 + 4 = 8</code>: case 2 <ul> <li><code>list = (4, 0, 0, 6, 9, 9, 8)</code>, <code>counter = 0</code></li> </ul></li> </ol>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload