Сап, двачик. Я знаю, среди вас есть топовые кодеры. Задача следующая: есть буквы, каждая буква имеет своё число. Нужно получить все варианты, при которых сумма букв будет равна 10. За помощь готов закинуть пару соток на киви или сбер. Пик рилейтед.
>>198474804 (OP)Шаг первый: работаешь только с числами. Вычисляешь комбинации чисел, дающих в сумме 10.Шаг второй: вместо полученных чисел подставляешь буквы, комбинаций будет много, напр. для 1+9 будет: AI, AR, JI, JR, SI, SR
>>198475377>>198474804 (OP)Для конкретной реализации нужно еще понимание могут ли быть повторения, напр. 1+1+8?
>>198474804 (OP)Вангую что ОП троллит.Я как-то раз писал программу для подсчета всех возможных вариантов расстановки кораблей в "морском бое" и пришел к выводу что в режиме нонстоп моя пекарня будет проверять варианты месяц.А тут задача посложнее, вариантов больше. Могут быть миллионы правильных ответов.
>>198476286Неверно. У тебя два цикла, ты рассчитываешь что сумма только из двух чисел будет. Переделывай.
Предлагаю такое решение задачи:Делим её на две части.Так-как всё что больше 5 не может суммироваться с самим собой и числами выше рангом, оставим проверку затрагивающую ячейки 6 и более на потом. Это будет вторая часть.В первой же части мы будем суммировать все ячейки до 5 включительно. То есть 15 ячеек будем в самых разнообразных формах совокуплять между собой.При этом все подходящие результаты сохранять в один массив, а во второй все результаты дающие нам сумму до 4-х.После того как решим первую задачу переходим ко второй - все варианты из второго массива (с суммами до 4-х) будем совокуплять с числами 6-9.
Вот в псевдокоде:Letters[] = {A,B,C,....,Z}for i=0 to Letters.length{Numbers= 1+ i mod 9}Function f(n) {for i=0 to Letters.length{Combination[n]=LettersSum+=Numbersif Sum<10 then f(n+1)if Sum==10 then print(Combination)Combination[n]=""Sum=Sum-Numbers}f(0);}
>>198476402Индексы сожрались почему-то>Вот в псевдокоде:>Letters[] = {A,B,C,....,Z}>for i=0 to Letters.length{>Numbers= 1+ i mod 9>}>Function f(n) {>for m=0 to Letters.length{>Combination[n]=Letters[m]>Sum+=Numbers[m]>if Sum<10 then f(n+1)>if Sum==10 then print(Combination)>Combination[n]="">Sum=Sum-Numbers[m]>}>f(0)
ну так смотри ёбана, задаём значит переменные как сказал моясий, каждой тваре по паре, так и тут каждой буквенной переменой по цифре. дольше ёбана значит хуярим кейсами пусть считают сами так подожди ёбана
>>198474804 (OP)чувак, насчет пары соток ты конечно знатно рофлишь. если ты готов платить, обратись в нормальную программистскую контору, только там с тебя возьмут не "пару соток". если не готов — смирись, население /б/ не топовые кодеры
>>198476399>>198476399>То есть 15 ячеек будем в самых разнообразных формах совокуплять между собой.даже не 15 а 5! Если брать способ анона выше, работая только с числами, а потом уже приебенивая коды букв
>>198477019Долбоеб тут только ты, научись читать. Я описал задачу в два шага, числа - результат шага 1.>>198475218
>>198477302Ты ебанутый. Программист дробит задачи на более мелкие части, подзадачи, чтобы удобнее было решать. Решение всех подзадач обеспечивает решение начальной задачи. На скринах был представлен результат шага 1 из 2 при решении общей задачи. Нормальный бы чел понял что дальше с числами делать. Короче съеби и дай общаться ОПу надеюсь ты не ОП :3
>>198477483сука ебаная ты а не программист, в ТЗ написаны БУКАФКИ, а не ЦИФИРКИ БЛЯТЬ. переменные вводи и через них решай дебил лупоглазый>>198477590нет, он не оп, оп на связи.
>>198474804 (OP)>>198475218>>198476835Таак, хто там уже первей меня сделал?? ОП, вот результат, проверяй. У меня получилось 786423 комбинаций итог.
>>198479158Ля, у челика получилось то же самое, который отправил быстрее тебя, лол. Отпишись мне на почту
>>198480058Не знаю зачем тебе это, но написал. Кошелька у меня нет да и не надо мне. Имейлы кодеров собираешь? :3
>>198480370Нет, не собираю. Просто на двачах много мимикрирующих попрошаек, так надёжнее, чем в треде кошельки спрашивать. Спасибо и удачиАбу благословил этот пост.