Long multiplication: Difference between revisions
Content added Content deleted
Line 3,409: | Line 3,409: | ||
=={{header|EasyLang}}== |
=={{header|EasyLang}}== |
||
{{Trans|Java}} |
|||
<syntaxhighlight lang="easylang"> |
<syntaxhighlight lang="easylang"> |
||
proc mult a$ b$ . r$ . |
proc mult a$ b$ . r$ . |
||
⚫ | |||
a[] = number strchars a$ |
a[] = number strchars a$ |
||
b[] = number strchars b$ |
b[] = number strchars b$ |
||
len r[] len a[] + len b[] |
len r[] len a[] + len b[] |
||
for ib |
for ib = len b[] downto 1 |
||
h = 0 |
|||
for ia = len a[] downto 1 |
|||
h += r[ia + ib] + b[ib] * a[ia] |
|||
r[ia + ib] = h mod 10 |
|||
h = h div 10 |
|||
r[ia + ib + 1] = tmp mod 10 |
|||
tmp = tmp div 10 |
|||
. |
|||
ir = ib + len a[] + 1 |
|||
while tmp <> 0 |
|||
tmp += r[ir] |
|||
r[ir] = tmp mod 10 |
|||
tmp = tmp div 10 |
|||
ir += 1 |
|||
. |
. |
||
⚫ | |||
. |
. |
||
r$ = "" |
|||
for i = 1 to len r[] |
|||
if r$ <> "" or r[i] <> 0 or i = len r[] |
|||
r$ &= r[i] |
r$ &= r[i] |
||
. |
. |