Aranjamente

by MariusNastasa

HTML

<h1>Aranjamente </h1>
<input type="number" id="n">
<button onclick="aranjamente()">Afiseaza</button>
<div id="afisare"></div>

JavaScript

//in slide scrie ca e identic ca la permutari

var k = 0;
var s = [];
var valid = false;
s[k] = 0;

function aranjamente() {
  var n = document.getElementById("n").value;
  while (k >= 0) {
    s[k]++;
    valid = false;
    while (!valid && s[k] <= n) {
      if (ver(s, k + 1)) {
        valid = true;
      } else {
        s[k]++;
      }
    }
    if (valid) {
      if (k == n - 1) {
        document.getElementById("afisare").innerHTML += "<br>" + s;
      } else {
        k++;
        s[k] = 0;
      }
    } else {
      k--;
    }
  }

}

function ver(s, k) {
  for (var i = 0; i < k - 1; i++) {
    for (var j = i + 1; j < k; j++) {
      if (s[i] == s[j])
        return false;
    }
  }
  return true;
}