divisor
v1.0.11
Published
Calculates divisors/factors of natural numbers and gcd/lcm using euclid's algorithm.
Downloads
59
Maintainers
Readme
Divisor ·
Description
Divisor is a utility tools that calculates divisors/factors of natural numbers and gcd/lcm using euclid's algorithm.
Table of Contents
Installation
To install Divisor using npm, run the following command:
npm i divisor
Documentation
API documentation can be found here.
To generate the documentation on your local development environment, run:
npm run gen-docs
Examples
Here are some examples of how to use the utility methods from the package:
note: CommonJS usage
To gain the TypeScript typings (for intellisense / autocomplete) while using CommonJS imports with require(), use the following approach:
const divisor = require('divisor');
note: ES Modules usage
To gain the TypeScript typings (for intellisense / autocomplete) while using ES Module imports with import, use the following approach:
import divisor from 'divisor';
Calculating single number divisors
To get the divisors of a number:
const divisors = divisor.getDivisors(20);
// outputs => [ 1, 20, 2, 10, 4, 5 ]
To get the sorted divisors of a number:
const sortedDivisors = divisor.getDivisors(20, { sort: 'asc' });
// outputs => [ 1, 2, 4, 5, 10, 20 ]
Divisor Options
{
sort?: string | undefined; // optional - supports 'asc' | 'desc'
onlyProperDivisors?: boolean; // optional
}
Calculating common divisors of two numbers
To get all common divisors:
const commonDivisors = divisor.getCommonDivisors(20, 100);
// outputs => [ 1, 20, 2, 10, 4, 5 ]
const sortedCommonDivisors = divisor.getCommonDivisors(20, 100, {
sort: 'desc', // supports 'asc' | 'desc'
});
// [ 20, 10, 5, 4, 2, 1 ]
To get the greatest common divisor - gcd:
const gcd = divisor.greatestCommonDivisor(20, 100);
// outputs => 20
To get the least common multiple - lcm:
const lcm = divisor.leastCommonMultiple(11, 67);
// outputs => 737
Contributing
We welcome contributions! Please review code of conduct and contributing guide so that you can understand what actions will and will not be tolerated.
Pull Request Guidelines
- The
main
branch is just a snapshot of the latest stable release. All development should be done in development branches. Do not submit PRs against themain
branch. - Work in the
src
folder and DO NOT checkindist
in the commits. - It's OK to have multiple small commits as you work on the PR
- If adding a new feature add accompanying test case.
- If fixing bug,
- Add accompanying test case if applicable.
- Provide a detailed description of the bug in the PR.
- If you are resolving an opened issue add issue number in your PR title.
License
Divisor is MIT licensed.