LINUX.ORG.RU
ФорумTalks

Как понять что ты тупой?

 , , , профнепригодность,


0

1

Очень просто! Нужно встретить задачу которая понятна буквально на интуитивном уровне. Открыть редактор и не суметь её решить сходу.
В голове переклинивает, ты точно знаешь что тебе надо делать и ступоришься на том как делать. Замираешь и смотришь на экран как додик последний. Кабзда, если извилины шевелятся то у моих кататония. Это фиаско братан :D Я не знаю с чем это сравнить, это как налить чаю, взять ложку и думать, тебе туда соль сыпать или сахар и офигевать от того что ыт об этом вообще задумываешься. Это просто пример, такой шизы у меня нету. Но хотелось яркого сравнения.

Короче сижу я такой и думаю дай полистаю PIL четвёртое издание для Lua, а то память у меня как решето постоянно всё забываю и надо по кругу гонять одно и тоже, ну типа листаю и листаю, типа ну ага, ну эге и тут задачка банальная как банан.

Exercise 6.5: Write a function that takes an array and prints all combinations of the elements in the array.
(Hint: you can use the recursive formula for combination: C(n,m) = C(n -1, m -1) + C(n - 1, m). To generate
all C(n,m) combinations of n elements in groups of size m, you first add the first element to the result and
then generate all C(n - 1, m - 1) combinations of the remaining elements in the remaining slots; then you
remove the first element from the result and then generate all C(n - 1, m) combinations of the remaining
elements in the free slots. When n is smaller than m, there are no combinations. When m is zero, there is
only one combination, which uses no elements.)

Упражнение 6.5: Напишите функцию, которая принимает массив и выводит все комбинации элементов в массиве.
(Подсказка: вы можете использовать рекурсивную формулу для комбинации: C (n,m) = C(n -1, m -1) + C(n - 1, m). Чтобы сгенерировать
все C(n, m) комбинаций из n элементов в группах размером m, вы сначала добавляете первый элемент к результату и
затем генерируете все C(n - 1, m - 1) комбинации оставшихся элементов в оставшихся ячейках; затем вы
удаляете первый элемент из результата и затем генерируете все C(n - 1, m) комбинации оставшихся
элементов в свободных ячейках. Когда n меньше, чем m, комбинаций не существует. Когда m равно нулю, существует
только одна комбинация, в которой не используются элементы.)

Для таких же тупых как я, нужно вывести все комбинации из элементов массива, комбинации должны быть заданного размера, а не просто длинны массива, исходный массив не должен быть модифицирован, реализация должна быть на основе хвостовой рекурсии, которую Lua автоматически устраняет.

И йя не смог. Вот прям сразу взять и написать. Истории успеха это конечно здорово, когда всё получается, когда всё складно и ладно, выезжаешь во всё лишь получив вводные. Вот про это все пишут все это смакуют. А вот провалы, спотыкания на ровном месте, затупы вселенских масштабов. Они у вас бывают? А как часто? Есть тру стори, похожего характера, когда вас прям переклинивало/ет? В расчёт не берутся случаи когда вы я фиг знаю дебажите неизвестный вам протокол или делаете что-то для области знаний где для вас вся терминология в новинку, там то понятно сходу по определению невозможно ничего сделать. Но вот в обыденных ситуациях, ну или не совсем оных. Признавайтесь! Чё я один такой глупый? :D

А линукс тут при том что линукс для умных.

★★★★★

Последнее исправление: LINUX-ORG-RU (всего исправлений: 4)
Ответ на: комментарий от wandrien

Во-первых – напиши её сам.


Зачем, если она уже написана. Напиши всю стандартную библиотеку с 0, да чего мелочится, напиши С++ компилятор, не ищи легких путей, всё делай сам

linuxoidspb
()
Ответ на: комментарий от wandrien

Во-вторых, в задаче требуется https://en.wikipedia.org/wiki/Combination , а не https://en.wikipedia.org/wiki/Permutation

https://docs.python.org/3/library/itertools.html#itertools.combinations

itertools.combinations(iterable, r)

Return r length subsequences of elements from the input iterable.

The combination tuples are emitted in lexicographic ordering according to the order of the input iterable. So, if the input iterable is sorted, the output tuples will be produced in sorted order.

Elements are treated as unique based on their position, not on their value. So if the input elements are unique, there will be no repeated values in each combination.
linuxoidspb
()
Ответ на: комментарий от linuxoidspb

Зачем, если она уже написана.

Зачем в школе проходят арифметику, если древние египтяне её уже изобрели?

Напиши всю стандартную библиотеку с 0, да чего мелочится, напиши С++ компилятор, не ищи легких путей, всё делай сам

https://www.kinopoisk.ru/film/77720/

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от linuxoidspb

Зачем, если она уже написана.

Затем, что в этом и состоит упражнение. Написать реализацию этого на Lua.

Hello World и какую-нибудь сортировку пузырьком при обучении пишут не потому что миру не хватает ещё одной реализации этих офигенно полезных программ с нуля, а потому что в этом смысл упражнения.

CrX ★★★★★
()
Ответ на: комментарий от wandrien

Зачем в школе проходят арифметику, если Древние египтяне её уже изобрели?

Всё верно, пользуйся плодами тем, кто вывел правила арифметики. Но если ты не приемлешь использовать результаты трудов прошлых поколений, то до всего доходи сам, выведи весь математический и физический аппарат с нуля сам. Может к концу жизни дойдешь до электродинамики :)

linuxoidspb
()
Ответ на: комментарий от CrX
- Вы на чем программируете?
- На stackoverflow.com
wandrien ★★★
()
Ответ на: комментарий от linuxoidspb

Идеально. На ЛОРе обнаружен сферический stackoverflow программист в вакууме.

Всё верно, пользуйся плодами тем, кто вывел правила арифметики.

Ты не сможешь ими пользоваться без мозгов, а у тебя их нет.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Зачем в школе проходят арифметику, если древние египтяне её уже изобрели?

Школа - это вообще тема отдельная. Её задача даже не столько научить чему-то,сколько развить мозг. Ну примерно как физические нагрузки развивают тело,хотя давно изобретены механизмы позволяющие не поднимать тяжести вручную. Реально применяемых в обычной жизни знаний в школьной программе немного. Вместо выполнения арифметических действий «в уме» сейчас все считают на калькуляторе. И тем более не считают в уме те кому арифметика требуется по работе (кассиры там всякие) - потому что их профессиональное оборудование гарантирует существенно меньшую вероятность ошибок,а заодно обеспечивает лучшую документируемость расчетов чем карандаш и бумага.

watchcat382
()
Ответ на: комментарий от watchcat382

Её задача даже не столько научить чему-то,сколько развить мозг.

Именно.

Делает она, правда, это не то что бы слишком хорошо. Но совершенно точно это лучше, чем если бы школы не было.

wandrien ★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)