Про очень похожие решения задач 16-2, 16-3

Дорогие участники курса.

Мне пришло много очень похожих решений задач 16-2 и 16-3. Приведу их начала, чтобы было понятно, о чем речь.

cantor = concat (map (\x -> ((x, x) : concat [...
generalizedCantor n =
    concat (map (\x -> filter (\xs -> sum xs == (x + n)) ...

Смотрите, бывают задачи, у которых все придумывают очень похожие решения (например, 18-5). Но это не тот случай и не те решения. В частности, впечатляет, что у всех вокруг (x+n) стоят скобки, совершенно не обязательные.

И в связи с этим:

  • Мне очень жаль, но все эти решения я не засчитаю.
    • Замечание: Я понимаю, что м.б., например, вы нашли такое решение где-то в сети. Но согласитесь, если бы я в такой ситуации стал засчитывать, вся система с задачами и баллами вообще потеряла бы смысл.
  • Те, у кого такое решение на засчитано, могут прислать другое решение, с другим порядком обхода или хотя бы с существенно другим способом описания порядка на Хаскеле. В данной задаче, к счастью, вариантов решения много. Но, пожалуйста, постарайтесь придумать его самостоятельно. Тогда оно точно ни с чем не совпадет.
    • Если нет идей, каким бы могло быть это другое решение, напишите письмо, я что-нибудь подскажу.

И еще, тоже в связи с этим, я хотел бы дополнить правила, касающиеся домашних задач.

  • Любого участника, не зависимо от того, сколько баллов он набрал, хоть 100, я могу на экзамене попросить объяснить и/или воспроизвести какие-нибудь задачи д.з. и задать по ним дополнительные вопросы.
    • Фактически это будет применяться к тем, у кого решения совпадали с другими решениями. Но, пожалуйста не удивляйтесь, если я вас это попрошу, а вы все делали самостоятельно. Ну, значит вам немного не повезло, но это не должно вызвать у вас проблем.
  • Если вы узнали готовый способ решения задачи, и вам кажется, что существенно другого способа и быть не может, вы можете прислать его, но при этом:
      • написать, что вы его придумали не самостоятельно
      • указать примерно, где вы его взяли (в таком то курсе, на таком то сайте и т.д.). Тогда я его или засчитаю или предложу вам решить другим способом (и напишу примерно каким).

Таким образом, подводя итоги, я бы хотел вас попросить:

  • Если вы узнали готовый способ решения задачи, а задача точно не такая, что у нее этот способ единственный - пожалуйста, не копируйте его, даже с заменой имен переменных. Я думаю, это вам будет не выгодно.
  • Если вы узнали готовый способ решения задачи, и вам кажется, что другого решения и быть не может - присылайте, но укажите источник.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License