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, время: 06:28. |