kota-yata / Percom

No dependencies package to calculate and list permutation and combination.

Home Page:https://www.npmjs.com/package/percom

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Percom

npm version Build Status License: MIT

NPM

npm package listing and calculating combination and permutation

Usage

$ npm i percom

1. Listing every possible combinatioins (組み合わせ)

  import percom from "percom";

  percom.com(array,num); 
  //array => Target array (対象の配列)
  //num => Number of elements in a combination (組み合わせの数)

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 possible combination (組み合わせの数を数える)

  percom.countCom(n, r);
  //n => Number of elements in an array (要素数)
  //r => Number of elements in a combination (選ぶ要素の数)

Example

  percom.countCom(8, 3);
  // => 56

2. Listing every possible permutaiton (順列)

  percom.per(array,num);
  //array => Target array (対象の配列)
  //num => Number of elements in a permutation (一つ一つの順列の要素数)

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 possible permutation (順列の数を数える)

  percom.countPer(n, r);
  //n => Number of elements in an array (要素数)
  //r => Number of elements in a permutation (一つ一つの順列の要素数)

Example

  percom.countPer(8, 3);
  // => 336

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://kota_yata.com)

About

No dependencies package to calculate and list permutation and combination.

https://www.npmjs.com/package/percom

License:MIT License


Languages

Language:JavaScript 100.0%