Thank you!
Wietcewitch
Школу закончил много лет назад и не помню курс математики за седьмой класс
Да и не должен помнить
Wietcewitch
Thank you!
Никита
Ну если человек задает подобный вопрос один раз, то еще ладно, а если такие вопросы на постоянке, то уже не очень. Задача так-то гуглится легко.
Шаман Каган
Токсик на админе
не надо свое невежество оборачивать в новомодные понятие о социальной хрупкости
Igor
Шаман Каган
ты сам хоть в это веришь ? ))))
Никита
Ожидаем худшего, надеемся на лучшее.)
Wietcewitch
Sergey Vyacheslavovich
Всем привет!
Sergey Vyacheslavovich
кто может предложить алгоритм, который даст все возможные варианты конкатенации строк списка так, чтобы на выходе получилась строка типа 1234 из примера списка ['1', '2', '3', '4', '12', '23', '34'], т.е:
1 + 2 + 3 + 4
1 + 2 + 34
12 + 34
список может быть больше, но смысл один
Igor
кто может предложить алгоритм, который даст все возможные варианты конкатенации строк списка так, чтобы на выходе получилась строка типа 1234 из примера списка ['1', '2', '3', '4', '12', '23', '34'], т.е:
1 + 2 + 3 + 4
1 + 2 + 34
12 + 34
список может быть больше, но смысл один
Заапендить комбинации от 1 до длинны
Erik
Erik
Или как
Erik
Хз в голову только квадратичные решения приходят
Erik
Но задача прикольная :)
Sergey Vyacheslavovich
сама по себе задача еще интереснее, это уже финал)
Никита
кто может предложить алгоритм, который даст все возможные варианты конкатенации строк списка так, чтобы на выходе получилась строка типа 1234 из примера списка ['1', '2', '3', '4', '12', '23', '34'], т.е:
1 + 2 + 3 + 4
1 + 2 + 34
12 + 34
список может быть больше, но смысл один
А почему должно в итоге быть 1234, а не 3412?
Sergey Vyacheslavovich
только порядковый вариант подходит
Igor
Я думал все возможные комбинации... А с конкатенациями проще всего через рекурсию.
Igor
А если не хочешь через рекурсию то еще проще через биты.
Sergey Vyacheslavovich
Sergey Vyacheslavovich
я не понимаю пока что о чем конкретно говоришь
Igor
Смотри если у тебя n символов то между ними n-1 плюсов может быть берем все n-1 битные числа. Если в числе бит включен значит есть плюс если выключен то нет
Igor
print([''.join(f'{c} + ' if b & (1<<i) else c for i, c in enumerate(s)) for b in range(2**(len(s)-1))[::-1]])
где s исходная строка ;) сорян я не могу код постить поэтому только однострочники ;)
Igor
рекурсия будет что то типа
s = '12345'
l = len(s)
def rec(i):
for n in range(i + 1, l):
yield from (f'{s[i: n]} + {e}' for e in rec(n))
yield s[i:]
print(list(rec(0)))
Igor
Вообще норм задача для интервью, можно и комбинаторику и рекурсию проверить)
Sergey Vyacheslavovich
Это и есть задача для интервью)
Igor
Ну это как тут принято говорить 9й класс вроде.
m700
синтаксис Ruby долго учить?
Bzzzz
всем привет) ПАМАГИТИ
в случае вложенных ф-ций и просто функций мне понятно "возвращает значение"
Вопрос : что значит "оператор возвращает значение", куда он возвращает ?
m700
ну в C# через DLR можно пайтон юзать, вот его знаю, а можно рубин, вот думаю может и его тогда выучить
m700
мне еще по планам 1 день остался чтоб синтаксис с# изучить
Andrew
Andrew
лишь бы скучно не было)
m700
Игорь вот дал оценку пайтона - 4 часа, потомуу взялся
Andrew
ааааа. с этой стороны вопрос стоит, понял
Andrew
нууууууу
Andrew
https://code-basics.com/ru/languages/ruby - тут сказано "примерно 13 часов"
Andrew
загляни, оцени объём
Wietcewitch
Не могу сообразить как решить. Дайте наводку что ли
Сделал вот такое, складываются все числа(и я понимаю почему):
a, b, c = int(input()), int(input()), int(input())
if a > 0:
a == a
if b > 0:
b == b
if c > 0:
c == c
print(a + b + c)
В голове нет решения вообще
eye=x×s²
m700
Azamat
Wietcewitch
Andrew
Azamat
Andrew
это более короткая запись. так называемый "синтаксический сахар"
Wietcewitch
Не понимаю почему в конце print(sum)
Wietcewitch
по логике надо разделить на sum1 для a, sum2 для b и так далее
Andrew
Azamat
Andrew
Andrew
у тебя ж сказано. ОДНО ЧИСЛО. сумма от трёх аргументов
Azamat
Azamat
иначе идем дальше
Andrew
ну это ж переменная. на каждый аргумент задано проверочное условие
Azamat
Andrew
если число больше нуля, то прибавляем его к sum
кстати. там же сказано что вернуть ноль если аргументы равны нулю. получается, если так, то можно же проще не? sum + a + b + c, соотв если все три агрумента равны нулю - sum = 0; sum + a + b + c = 0 + 0 + 0 + 0 = 0;
Andrew
Azamat
Wietcewitch
Andrew
я просто не шарю( в JS не считается плохой практикой
Wietcewitch
Что делать если не можешь в голове задачу разложить? Листочек не помогает вообще
Andrew
Andrew