Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function permutator(inputArr) {
- var results = [];
- function permute(arr, memo) {
- var cur, memo = memo || [];
- for (var i = 0; i < arr.length; i++) {
- cur = arr.splice(i, 1);
- if (arr.length === 0) {
- results.push(memo.concat(cur));
- }
- permute(arr.slice(), memo.concat(cur));
- arr.splice(i, 0, cur[0]);
- }
- return results;
- }
- return permute(inputArr);
- }
- trigrams = "200 231 010 143 222 023 300 104 044 221 132 240 231 222 112 024 311 013 030 303 002 104 023 144 001 310 312 130 223 311 041 034 000 130 201 230 101 024 041 240 142 134 143 132 034 143 023 142 034 144 242 111 010 044 003 133 214 232 113 144 131 220 041 101 110 010 100 040 241 021 244 211 004 244 034 241 004 201 131 133 310 242 204 223 304 311 030 031 134 111 110 022 113 212 103 023 224 133 143";
- translationTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!?\"#%&'()*+,-./:;<=>@[\\]^_`";
- permutator([0,1,2,3,4]).forEach(arr=>console.log(arr,
- trigrams.split` `.map(a=>[...a].map(b=>arr[parseInt(b)]).join``).map(a=>parseInt(a, 5)).map(a=>String.fromCharCode(a+32)).join``,
- trigrams.split` `.map(a=>[...a].map(b=>arr[parseInt(b)]).join``).map(a=>parseInt(a, 5)).map(a=>a<translationTable.length?translationTable[a]:' ').join``))
Advertisement
Add Comment
Please, Sign In to add comment