percom
v1.1.3
Published
A calculation npm module that is to simplify the calculation of permutations and combinations
Downloads
11,920
Maintainers
Readme
Percom
Combination and Permutation library
Usage
$ npm i percom
1. Combinatioins (組み合わせ)
const percom = require("percom");
percom.com(array,num);
//array => Target array (対象の配列)
//num => Number to combine as combinations (組み合わせの数)
Example
const array = ["A","B","C"];
const result1 = percom.com(array, 2);
//result1 = [ [ "A", "B" ], [ "A, "C ], [ "B", "C" ] ]
const result2 = percom.com(array, 1);
//result2 = [ [ "A" ], [ "B" ], [ "C" ] ]
Count the number of combination elements (組み合わせの数を数える)
percom.countCom(n, r);
//n => Number of elements : int (要素数)
//r => Number to choose : int (選ぶ要素の数)
Example
percom.countCom(8, 3);
// => 56
2. Permutations (順列)
percom.per(array,num);
//array => Target array (対象の配列)
//num => Number to combine as permutations (一つ一つの順列の要素数)
Example
const array = ["A","B","C"];
const result1 = percom.per(array, 2);
//result1 = [ [ 'A', 'B' ], [ 'A', 'C' ], [ 'B', 'A' ], [ 'B', 'C' ], [ 'C', 'A' ], [ 'C', 'B' ] ]
const result2 = percom.per(array, 1);
//result2 = [ [ "A" ], [ "B" ], [ "C" ] ]
Count the number of permutation elements (順列の数を数える)
percom.countPer(n, r);
//n => Number of elements : int (要素数)
//r => Number to choose : int (選ぶ要素の数)
Example
percom.countPer(8, 3);
// => 336
Test Coverage
Both uncovered lines are returning of recursive function
License
percom is under MIT license
Development
yarn install
// before create PR
yarn mocha
Since lint-staged and husky are set up, your code will be formatted before commit.
Developer
Kota Yatagai (https://twitter.com/kota_yata)