mpAdd ´Ù¹èÀå Á¤¼ö³¢¸®ÀÇ °¡»ê
void mpAdd(int *ret, int *a, int *b);
ret (Ãâ·Â) ´Ù¹èÀå Á¤¼ö³¢¸®ÀÇ °¡»êÀÇ °á°ú(a + b) a, b (ÀÔ·Â) ´Ù¹èÀå Á¤¼ö
¾øÀ½
#define N 10000
void mpAdd(int *ret, int *a, int *b)
{
int i;
int lr, la, lb;
int *rr;
int x;
la = *a;
lb = *b;
lr = (la >= lb) ? la : lb;
rr = ret;
x = 0;
for (i = 1; i <= lr; i++) {
if (i <= la) x += *++a;
if (i <= lb) x += *++b;
if (x < N) {
*++rr = x;
x = 0;
} else {
*++rr = x - N;
x = 1;
}
}
*++rr = x;
*ret = lr + x;
}