Nerds Publishing Monstrosities
    Have ideas to improve npm?Join in the discussion! »

    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    Divisor · GitHub npm version npm npm bundle size

    Divisor is a utility tools that calculates divisors/factors of natural numbers and gcd/lcm using euclid's algorithm.


    Using npm:

    npm i divisor


    API documentation can be found here.

    On local development environment simply run

    npm run gen-docs


    Examples from some of the utility methods from package.

    note: CommonJS usage

    In order 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

    In order 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

    Get divisors of a number

    const divisors = divisor.getDivisors(20);
    // [ 1, 20, 2, 10, 4, 5 ]

    Get sorted divisors of a number

    const sortedDivisors = divisor.getDivisors(20, { sort: 'asc' });
    // [ 1, 2, 4, 5, 10, 20 ]

    Divisor Options

      sort?: stringundefined; // optional - supports 'asc' | 'desc'
      onlyProperDivisors?: boolean; // optional

    Calculating common divisors of two numbers

    Get all common divisors

    const commonDivisors = divisor.getCommonDivisors(20, 100);
    // [ 1, 20, 2, 10, 4, 5 ]
    const sortedCommonDivisors = divisor.getCommonDivisors(20, 100, {
      sort: 'desc', // supports 'asc' | 'desc'
    // [ 20, 10, 5, 4, 2, 1 ]

    Greatest common divisor - gcd

    const gcd = divisor.greatestCommonDivisor(20, 100);
    // 20

    Least common multiple - lcm

    const lcm = divisor.leastCommonMultiple(11, 67);
    // 737


    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 the main branch.
    • Work in the src folder and DO NOT checkin dist 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.


    Divisor is MIT licensed.


    npm i divisor

    DownloadsWeekly Downloads






    Unpacked Size

    27.1 kB

    Total Files


    Last publish


    • avatar