@combinatorics/n-multicombinations
Version:
Set n-multicombinations for JavaScript
3 lines (2 loc) • 492 B
JavaScript
import{list as r}from"@iterable-iterator/list";import{nrepeat as t}from"@iterable-iterator/repeat";import{map as e,pick as o}from"@iterable-iterator/map";function*i(e,o){if(0===e&&o>0)return;const i=r(t(0,o));for(yield i;;){let r=o-1;for(;;){if(r<0)return;if(i[r]!==e-1){const t=++i[r];for(++r;r<o;++r)i[r]=t;break}--r}yield i}}const n=(t,n)=>{const a=r(t);return e(t=>r(o(a,t)),i(a.length,n))};export{i as _multicombinations,n as multicombinations};
//# sourceMappingURL=index.modern.js.map