Aetae,
А если ему потом понадобится то же самое из 6 или более символов уже пирамида упавшая на бок получится. чем жуток код рони? :( |
рони,
Спасибо работает. Aetae, мне не для препода, хучу как раз сделать что-то типа брутфорса строки. j0hnik, Тоже думал про циклы но не получилось |
VSEM-DOBRA,
все проще простого var arr = ['A','B','C','D','E'], a =[], x=[]; for(var k = 0; k<arr.length; k++){ a[0] = arr[k]; for(var l = 0; l<arr.length; l++){ a[1] = arr[l]; for(var m = 0; m<arr.length; m++){ a[2] = arr[m]; for(var n = 0; n<arr.length; n++){ a[3] = arr[n]; x.push(a.join('')); } } } } console.log(x); |
VSEM-DOBRA,
брутфорс ваш будет быстрей работать не со строками, а с массивом. и лучше не пушить, а проверять на лету и успешно забывать если не тот. 1) берем вашу строку делаем из нее массив, 2) генерируем с помощью цикла новый массив сверяем его с текущем, если не подходит, успешно забываем. если подходит останавливаем цикл. |
:write: шифровка из центра ...
<script> var arr = ['A','B','C','D','E']; function fn(e, k) { for (var f = [], c = e.length, g = 0;; g++) { var b = g.toString(c), a = k - b.length; if (0 > a) { break; } 0 < a && (b = Array(++a).join("0") + b); for (var h = "", d = 0; d < k; d++) { a = parseInt(b[d], c), h += e[a]; } f.push(h); } return f; }; document.write(fn(arr, 4).join('<br>')); </script> |
рони,
Спасибо j0hnik, Да, вы правы, буду над этим работать. |
:) :write:
<script> var arr = ['A','B','C','D','E']; function fn(e, k) { for (var f = [], c = e.length, g = 0;; g++) { var b = g.toString(c); if (b.length > k) break; b = [...b.padStart(k,"0")].reduce((a,d) => (d = parseInt(d, c), a + e[d]),""); f.push(b); } return f; }; document.write(fn(arr, 4).join('<br>')); </script> |
<script> var arr = ['A','B','C','D','E']; var x = 0; function fn(e, k) { for (var f = [], c = e.length, g = 0;; g++) { var b = g.toString(c); if (b.length > k) break; b = [...b.padStart(k,"0")].reduce((a,d) => { x++; return (d = parseInt(d, c), a + e[d]); },""); f.push(b); } console.log(x); return f; } document.write(fn(arr, 4).join('<br>')); </script> Рони, не многовато ли итераций?? как то можно ведь оптимизировать? |
j0hnik,
один цикл, куда ещё оптимальней? как преобразовать строку "0000" в "AAAA" можешь предложить своё решение, знаю только replace, не уверен что это оптимально. |
рони,
да цикл то один, а циклические методы не считаете? |
Часовой пояс GMT +3, время: 14:30. |