<script>
var
MAX = 100000;
function
print(g1, a, g2, b)
{
for
(
var
i = 0; i < a; i++)
{
document.write( g1[i] +
" "
);
}
document.write(
"and "
);
for
(
var
i = 0; i < b; i++)
{
document.write( g2[i] +
" "
);
}
document.write(
"<br>"
);
}
function
checksum(g1, a, g2, b)
{
var
i, x;
for
(i = 0, x = 0; i < a; i++)
{
x += g1[i];
}
for
(i = 0; i < b; i++)
{
x -= g2[i];
}
return
(x == 0);
}
function
formgroups(arr, x, g1, a, g2, b, n)
{
if
(x == n)
{
if
(checksum(g1, a, g2, b))
{
print(g1, a, g2, b);
}
return
;
}
g1[a] = arr[x];
formgroups(arr, x + 1, g1, a + 1,
g2, b, n);
g2[b] = arr[x];
formgroups(arr, x + 1, g1, a, g2,
b + 1, n);
}
var
arr = [ 1, 2, 3, 9, 4, 5 ];
var
n = arr.length;
var
g1 = Array(MAX).fill(0),
g2 = Array(MAX).fill(0);
formgroups(arr, 0, g1, 0, g2, 0, n);
</script>