RosettaCodeData/Task/Long-multiplication/Aime/long-multiplication.aime

40 lines
505 B
Plaintext

data b, c, v;
integer d, e, i, j, s;
b = 1.argv;
b.dump(',');
v = 2.argv;
v.dump(',');
c.run(~b + ~v + 1, 0);
for (i, d in b) {
b[i] = d - '0';
}
for (j, d of v) {
d = v[j] - '0';
s = 0;
for (i, e of b) {
s += e * d + c[i + j];
c[i + j] = s % 10;
s /= 10;
}
while (s) {
s += c[i + j];
c[i + j] = s % 10;
s /= 10;
i -= 1;
}
}
c.delete(-1);
c.bf_drop0("");
for (i, d in c) {
c[i] = d + '0';
}
o_form("~\n", c);