## Permutation Generator

## Permutations/Anagrams Calculator

## Answers to Questions

### What is a permutation? (Definition)

Item **permutations** consist in the list of all possible arrangements and ordering of elements in any order.

Example: A,B,C can be shuffled in 6 ways: A,B,C B,A,C C,A,B A,C,B B,C,A C,B,A

For partial **permutations** (A,B among A,B,C) see arrangements.

### How to generate permutations?

The best known method is the Heap algorithm.

Step 1 - for each item, fix it at the beginning

Step 2 - repeat step 1 with the rest

**Permutations** can thus be represented as a tree of **permutations**:

### How to count permutations?

Counting **permutations** uses combinatorics and factorials

Example: For $ n $ items, the number of **permutations** is equal to $ n! $ (factorial of $ n $)

### How to count distinct permutations?

Having a repeated item involves a division of the number of **permutations** by the number of **permutations** of these repeated items.

Example: DCODE 5 letters have $ 5! = 120 $ **permutations** but contain the letter D twice (these $ 2 $ letters D have $ 2! $ **permutations**), so divide the total number of **permutations** $ 5! $ by $ 2! $: $ 5!/2!=60 $ distinct **permutations**.

### How to remove the limit when computing permutations?

**Permutations** makes exponential values witch needs huge computing servers with huge memory cells, so the generation must be paid.

## Source code

dCode retains ownership of the source code of the script Permutations online. Except explicit open source licence (indicated Creative Commons / free), any algorithm, applet, snippet, software (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt, encrypt, decipher, cipher, decode, code, translate) written in any informatic langauge (PHP, Java, C#, Python, Javascript, Matlab, etc.) which dCode owns rights will not be given for free. To download the online Permutations script for offline use on PC, iPhone or Android, ask for price quote on contact page !