JSFiddle - React, Tailwind, and code Playground
HTML
<pre id="out"></pre>
JavaScript
function start() {
var start = prompt("Start: (ex: aabb)");
var end = prompt("End: (ex: ccaa)");
if (start.length != end.length) {
alert("They must have the same length!");
return;
}
if (start > end) {
var tmp = start;
start = end;
end = tmp;
}
var alphabet = prompt("Alphabet: (ex: abc)");
var out = "";
var i, digit, stop;
while (start < end) {
out += start + "\n";
stop = false;
for (i = start.length - 1 ; !stop && i >= 0 ; i-- ) {
digit = alphabet.indexOf( start.charAt(i) );
if (digit < 0) {
alert("Letter `" + start.charAt(i) + "` is not part of the provided alphabet!");
return;
}
digit++;
stop = digit < alphabet.length;
start = start.substr(0, i)
+ alphabet.charAt( digit % alphabet.length )
+ start.substr( i + 1 );
}
if (!stop) break;
}
document.getElementById("out").textContent = out + end;
}
start();