Compile[
{{number, _Integer}, {lsystem, _Integer}, {nparticles, _Integer}},
Module[{n = nparticles, m = number, state = Table[0, {i, lsystem}], btmp},
Do[
btmp = binomc[lsystem - i, n - 1];
Which[
m > btmp, m -= btmp; state[[i]] = 0,
True, n -= 1; state[[i]] = 1
],
{i, 1, lsystem}
];
Return@state
],
CompilationOptions -> {"InlineExternalDefinitions" -> True},
CompilationTarget -> "C"]