Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <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>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

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