169 похожих чатов

Т.Е. между числовыми значениями нужно просто вставить "calc" ?

27 ответов

11 просмотров

calc("1/3-8/4+1")

Кот-Чеширский Автор вопроса
i7 4n
calc("1/3-8/4+1")

всё равно не понял

Кот-Чеширский Автор вопроса
i7 4n
calc("1/3-8/4+1")

что конкретно этот калькулятор должен показывать?

Кот Чеширский
всё равно не понял

Он дал тебе способ вычислить результат одного варианта

Кот Чеширский
так их же 256)

Ну вот переберешь все, один из них то сто тебе надо)

Кот-Чеширский Автор вопроса
Jakhongir
Ну вот переберешь все, один из них то сто тебе над...

да, именно это и должна делать функция)

Кот Чеширский
так их же 256)

если в игре фиксированное количество чисел в примере - могу дать ответ :)

Кот Чеширский
да, именно это и должна делать функция)

Ну при переборе ты должен вычислить результат одного варианта, чтоб узнать подходит ли он. Вот тебе и дали способ вычисления. Тебе осталось реализовать перебор)) как вариант 4 вложенных for

Wilson Wilson 🦄
если в игре фиксированное количество чисел в приме...

Если ты решил идти перебором, то твое решение можно на любое колво чисел расширить

Jakhongir
Если ты решил идти перебором, то твое решение можн...

расширить можно, но я тупо написал 4 вложенных цикла, и мне лень думать, как это оптимизировать

Кот-Чеширский Автор вопроса

а можешь скинуть пример?

Кот Чеширский
а можешь скинуть пример?

Предупреждаю чувствительных к говнокоду не смотреть function solve(numbers, shouldResultTo) { const operands = ['*', '/', '+', '-'] const operate = (a, operand, b) => { switch (operand) { case '*': return a * b case '/': return a / b case '+': return a + b case '-': return a - b } } for (let operand of operands) { const operandStack = [operand] const result1 = operate(numbers[0], operand, numbers[1]) for (let operand of operands) { operandStack.push(operand) const result2 = operate(result1, operand, numbers[2]) for (let operand of operands) { operandStack.push(operand) const result3 = operate(result2, operand, numbers[3]) for (let operand of operands) { operandStack.push(operand) const result4 = operate(result3, operand, numbers[4]) if (result4 === shouldResultTo) return operandStack operandStack.pop() } operandStack.pop() } operandStack.pop() } operandStack.pop() } }

Кот-Чеширский Автор вопроса
Wilson Wilson 🦄
Предупреждаю чувствительных к говнокоду не смотрет...

а вот здесь понятнее)) при вызове функции просто массив чисел передаёшь, и результат?

Кот Чеширский
а вот здесь понятнее)) при вызове функции просто м...

solve([1,2,3,4,5], 15) // => ['*', '*', '+', '+'] undefined, если решения не найдено, либо можно throw дописать в конце

Wilson Wilson 🦄
solve([1,2,3,4,5], 15) // => ['*', '*', '+', '+'] ...

я вообще задачу не понял, похоже

Wilson Wilson 🦄
solve([1,2,3,4,5], 15) // => ['*', '*', '+', '+'] ...

Тут видимо приоритетность операций вообще не учитана

Кот-Чеширский Автор вопроса

а как ты понял?) что твой код решает?)

Кот Чеширский
а как ты понял?) что твой код решает?)

считает просто то, шо передадут. в принципе нет проблем его же использовать для того, чтоб сделать то, что нужно вам, но смысла уже не вижу

Кот-Чеширский Автор вопроса
i7 4n
считает просто то, шо передадут. в принципе нет пр...

ааа) так туда же можно строку передавать со значениями из объекта, как в самом первом решении

Wilson Wilson 🦄
calc('1+1+1') // => 3

только если числа двузначные, то оно работать не будет, надо [...] на split заменить. но по заданию были цифры

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта