123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- console.log(bananaencode(5000));
- console.log(bananaencode(10000));
- console.log(bananaencode(1000, 8));
- console.log(bananarandom());
- console.log(bananarandom(10));
- console.log(bananadecode("babaduga"));
- console.log(bananacheck("babaduga"));
- console.log(bananacheck("antani"));
- function bananaencode(num, minlength = 1) {
- alphabets = Array("bcdfglmnprstvz".split(""), "aeiou".split(""));
- shiftalpha = 0;
- alphaend = 0;
- numalpha = alphabets.length;
- v = num;
- st = "";
- length = 0;
- idx = (numalpha - 1 + shiftalpha + alphaend) % numalpha;
- while (!(v == 0 && idx == (numalpha - 1 + shiftalpha) % numalpha && length >= minlength)) {
- al = alphabets[idx];
- r = v % al.length;
- v = Math.floor(v / al.length);
- st = al[r] + st;
- idx = (idx + numalpha - 1) % numalpha;
- length = length + 1;
- }
- return st;
- }
- function bananadecode(word) {
- alphabets = Array("bcdfglmnprstvz".split(""), "aeiou".split(""));
- shiftalpha = 0;
- alphaend = 0;
- numalpha = alphabets.length;
- if ((word.length - alphaend) % numalpha != 0) {
- return "Invalid banana";
- }
- v = 0;
- for (i = 0; i < word.length; i++) {
- r = (numalpha + i + shiftalpha) % numalpha;
- if (alphabets[r].indexOf(word[i]) != -1) {
- v = v * alphabets[r].length + alphabets[r].indexOf(word[i]);
- } else {
- return("Invalid character in position " + (i + 1));
- }
- }
- return v;
- }
- function bananacheck(word) {
- alphabets = Array("bcdfglmnprstvz".split(""), "aeiou".split(""));
- shiftalpha = 0;
- alphaend = 0;
- numalpha = alphabets.length;
- if ((word.length - alphaend) % numalpha != 0) {
- return false;
- }
- for (i = 0; i < word.length; i++) {
- r = (numalpha + i + shiftalpha) % numalpha;
- if (alphabets[r].indexOf(word[i]) == -1) {
- return false;
- }
- }
- return true;
- }
- function bananarandom(minlength = 6) {
- alphabets = Array("bcdfglmnprstvz".split(""), "aeiou".split(""));
- shiftalpha = 0;
- alphaend = 0;
- numalpha = alphabets.length;
- st = "";
- if (minlength < 1) {
- return "";
- }
- curr_alpha = (numalpha - 1 + shiftalpha + alphaend) % numalpha;
- final_alpha = (numalpha - 1 + shiftalpha) % numalpha;
- while (curr_alpha != final_alpha || st.length < minlength) {
- al = alphabets[curr_alpha];
- st = al[Math.floor(Math.random() * al.length)] + st;
- curr_alpha = (curr_alpha + numalpha - 1) % numalpha;
- }
- return st;
- }
|