Permutarea cifrelor 1, 2, …, 5 in JavaScript

Producem 5 cicluri for imbricate de la 1 la 5. Calculatorul executa conform regulii produsului 5*5*5*5*5=3125 de repetari.

Mnemoschema la regula produsului

Introducem o conditie if pentru a avea toate cifrele diferite i1!=i2&&i1!=i3&&i1!==i4&&i1!=i5&&i2!==i3&&i2!==i4&&i2!==i5&&i3!==i4&&i3!==i5&&i4!==i5

Atentie nu avem tranzitivitate la relatia diferit: daca i1 diferit de i2 si i2 diferit de i3, nu rezulta i1 diferit de i3 (contraexemplu: i1=1, i2=2, i3=1)

Afisam cele 120 de permutari.

Intoducem un contoar initializat la 0 in afara ciclurilor imbricate, si incrementat cu 1, dupa ce blocul de decizie if devine adevarat (momentul afisajului)

Programul va fi imbogatit pe 2 directii: 1) inlocuitrea cifrelor cu litere. Astfel un nume de 5 litere diferite (exemplu DORIN) va fi anagramat in 120 de cuvinte (cate au sens? RODIN). 2) eficientizam partea de programare care executa prea multe repetari si prea multe conditii diferit: combinari de 5 luate cate 2, adica de 10 ori diferit