Long multiplication: Difference between revisions

Line 3,409:
 
=={{header|EasyLang}}==
{{Trans|Java}}
<syntaxhighlight lang="easylang">
proc mult a$ b$ . r$ .
r$ = ""
a[] = number strchars a$
b[] = number strchars b$
len r[] len a[] + len b[]
for ib range0= len b[] downto 1
bh = b[len b[] - ib]0
tmpfor ia = 0len a[] downto 1
for h += r[ia range0+ lenib] + b[ib] * a[ia]
tmp += r[ia + ib] += h 1]mod 10
tmph += bh *div a[len a[] - ia]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$[ib] += ""h
.
for ir$ = len r[] downto 1""
for i = if1 r$to <> "" orlen r[i] <> 0 or i = 1
if r$ <> "" or r[i] <> 0 or i = len r[]
r$ &= r[i]
.
1,978

edits