|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
||||||
Представление числа в виде сумм из списка22.12.2019, 19:41. Показов 2236. Ответов 14
Метки нет (Все метки)
Имеется число 10 и список [5,2,1].
Найти все наборы [5,5] [5,2,2,1] [5,2,1,2] [5,1,2,2] [5,2,1,1,1] [5,1,2,1,1] [5,1,1,2,1] [5,1,1,1,2] [5,1,1,1,1,1] [2,5,2,1] [2,5,1,2] [2,2,5,1] [2,2,1,5] [1,5,2,2] [1,5,2,1,1] [1,5,1,2,1] [1,5,1,1,2] [1,1,5,2,1] [1,1,5,1,2] [1,1,1,5,2] [1,1,1,2,5] [1,1,2,5,1] [1,1,2,1,5] и так далее. Как сделать? Может быть кто-нибудь писал нечто подобное? Добавлено через 49 минут Я придумал такой подход: 1. Обрабатываем список [5,2,1] по порядку и получаем списки [5, 2, 1, 1, 1, 2, 1, 5][2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2][1, 1, 1, 1, 1, 1, 1, 1, 1, 1]2. Обрабатываем каждый из этих списков. На примере списка [5, 2, 1, 1, 1, 2, 1, 5] выдергиваем списки[5, 2, 1, 1, 1][5, 2, 2, 1][5, 5]3. Каждый из обработанных списков отправляем в функцию tuple_list(...), которая вернёт всевозможные списки.
0
|
||||||
| 22.12.2019, 19:41 | |
|
Ответы с готовыми решениями:
14
Представление числа N в виде всевозможных сумм K
Представление дерева в виде списка |
|
Status 418
|
|||||||||||
| 22.12.2019, 23:24 | |||||||||||
p - лишнее
0
|
|||||||||||
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
|
| 23.12.2019, 08:42 [ТС] | |
|
eaa, спасибо! Сейчас проверю. Как-то слишком изящно выглядит у вас!
p.s. а я шаг 2 по своему подходу придумал как писать Добавлено через 13 минут eaa, спасибо огромное! Просто идеально, не представляю как такие вещи люди пишут, 2 дня думал и даже близко к такому не подошел...
0
|
|
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
|||||||||||
| 23.12.2019, 10:02 [ТС] | |||||||||||
|
eaa, а не подскажите как это всё дело можно грамотно вернуть? Попробовал так, но на выходе какой-то ужас.
IndexError: list index out of range. Не понятно в каком месте за границу вылазит.
0
|
|||||||||||
|
Status 418
|
||||||
| 23.12.2019, 10:05 | ||||||
0
|
||||||
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
||||||
| 23.12.2019, 11:15 [ТС] | ||||||
|
Клавишей промазал...
![]()
Добавлено через 1 минуту eaa, глобально что-то не додумался объявить, впрочем и локально всё также работает. Добавлено через 58 минут eaa, не подскажите как ваш код преобразовать под случай когда числа были бы [5,3,2], n=11 и надо максимально плотно подойти к 11? То есть варианты [2,2,2,2,2], [3,3,3], [5,5] и т.п. либо вплотную [3,3,5] и т.п.
0
|
||||||
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
||||||
| 23.12.2019, 12:12 [ТС] | ||||||
|
eaa, правильно ли понимаю, что такой код
Добавлено через 6 минут Нет, так не получится, [1,1,1,1,1,1,5] после удаления 5 не даст максимальное приближение к 10.Добавлено через 7 минут eaa, просто суть проблемы в том, что у меня нет конкретного n, а имеется диаметр бревна, который будут посылать датчики, то есть этот n какая-то переменная величина. А задача состоит в том, чтобы нарезать это дерево на слои, то есть имеется окружность с заданным диаметром n и набор слоев [200,100,50,25], на данный момент даже не знаю какие именно слои будут резать, список чисел просто. Так вот, надо сделать полный перебор слоев, думал задача сводится к задаче с этой десяткой, а вышло, что не совсем так ибо практически никогда не будет полного совпадения суммы слоев и диаметра, разве что в редчайших случаях, а потому надо максимально плотно подойти к диаметру.
0
|
||||||
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
|
| 23.12.2019, 13:07 [ТС] | |
|
eaa, ага)) Обрадовался было, что ваш код подойдет, а сейчас не знаю. Неужто вот этот велосипед, что в топике писать?
0
|
|
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
|
| 23.12.2019, 13:16 [ТС] | |
|
eaa, так не знаю где смотреть, в итоге сам всё придумываю сижу. Геометрию подключил, объекты придумал, горбыль учел сверху/снизу, толщину диска учел, обзол потом подправлю, до лафета не дошел, пока пишу горизонтальный раскрой (лафет как понимаю на радиальном раскрое).
0
|
|
| 23.12.2019, 22:29 | |
|
0
|
|
| 23.12.2019, 22:29 | |
|
Помогаю со студенческими работами здесь
15
Представление многочлена в виде списка Представление многочлена в виде списка Представление таблицы в виде линейного списка Представление графа в виде списка вершин. Представление графа в виде списка смежности Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|