Другие языки программирования и технологии

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

Дойти?
Нет. По многим причинам.
- что такое "задачи по программированию", олимпиадные что ли, тогда это к любителям оных развлечений. Если решение уже есть, значит задача решена, те она перестаёт быть уже задачей
- не встречается такие задачи, которыми заказчик заинтересовывает многих. Даже сложно такую ситуацию представить. "большинство" тут не встречается от слова совсем
- для специалистов примерно равного уровня есть смысл говорить о том, кто придумает 1м наиболее оптимальное решение. Про "невероятно простое" разговора вообще не идёт. Каждое может иметь как плюсы, так и минусы. Ситуацию, когда "большинство" те, кто в силу отсутствие опыта вообще не шарит здесь не рассматриваем
[[
[Нур] [Султан]
95 747
Лучший ответ
Красота хороша в учебных заданиях. А для работы важно уметь найти оптимальное для заданных условий решение - даже если оно уродливо. Но найти красивое и оптимальное решение - это здорово!

Скорее, я наблюдаю, как кодеры НЕ умеют и НЕ хотят искать оптимальные решения.
Когда на Ответах и вопрошающие, и отвечающие вычисляют сумму чисел от 1 до N циклом - это уже диагноз.

P.S. Соглашусь с тёзкой в том, что первое решение далеко от оптимума. Напишешь его, а потом в голову приходит куда лучший вариант.
Johnny Hollywood
Johnny Hollywood
81 443
Berdi Danatarow а что с циклом не так?
Это от программиста зависит. Я примерно 100% задач решаю сначала не оптимально, потом думаю, что можно улучшить.
Костя Котов Это и есть нормальный способ решения. Преждевременная оптимизация часто вредна, первым делом - рабочий код. Но мне интересно именно существование сложных задач с неочевидным эффективным, но по коду очень простым решением.
Ни разу не видел, чтобы кто-то (ну, кроме меня, конечно!) правильно бы находил суммы обратных степеней, которые очень часто любят предлагать для вычисления многие преподаватели:

S{k=1;n}¹/n, S{k=1;n}¹/n²,

S{k=1;n}¹/n³, S{k=1;n}¹/n⁴ и т. д.

Тут дело в том, что n - любое натуральное число, включая, например, и единицу, и даже целый центиллион. Вот как такое правильно решать? Короче, уметь надо !

Но гораздо чаще бывает ситуация, когда решение кажется правильным, а оно неверное. Если уж сам Н. Вирт, создатель Паскаля, в своей книжке "Систематическое программирование" школьное квадратное уравнение решил неправильно - что уж тогда говорить о других? Вот же формула для корней невырожденного квадратного уравнения аx²+bx+c=0:

x=[-b±√(b²-4ac)]/2a. Её простота Н. Вирта пóпросту сбила с толку! А ведь ему надо было показать правильное компьютерное решение, но он с этой задачей не справился!..

Р. S. Кстати, кто как думает? Вот всевозможные "любители оптимальности" смогут правильно решить и квадратное уравнение и оптимально вычислить, например, такую сумму:

S = 1 + ¹/2³ + ¹/3³ + .+¹/n³ ?

По моему вряд ли! Они же просто шизогоны !..
Эдуард Галяев
Эдуард Галяев
28 648
Эдуард Галяев Суммы только надо было правильно записывать, типа:
S{k=1;n}¹/k и т. д., а не S{k=1;n}¹/n.
А вот ещё знаменитая задача: написáть программу, печатающую саму себя. У меня она на Пайтоне3 занимает всего одну строку!..
Бывает. Люди неосознанно совершают ошибки, упускают возможное решение, а потом думают, как же я не додумался?
VA
Vitaliy Alexandrovich
2 318
знакомы... и что?