metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-21 01:48 pm

Конкурс в fpprog#3

На лоре феерический срач по третьем номеру журнала и заданиям на конкурсе в нем.

Кстати, задачи реально сложноваты, да. Там одного анализа входных данных - башкой удвинуться можно. Это, кстати, и правильно, а то всякий идиотизм учебный с обычных олимпиад и конкурсов в уныние вгоняет.

Да, кстати, я понял, что деградировал окончательно - мне хотелось бы сделать решение тамошних задач, но я этого сделать не смогу - ибо туп, ленив, занят на двух работах, а интереса, который бы меня заставил это все преодолеть уже того нет.
Видимо, придется в итоге все таки идти работать в НИИ Говна и Торфа, администрировать убунты у научных сотрудников, программировать "через силу" - это невозможно, быдлокодерское говнище получается.

PS: Фак мой мозг. Анонимусы с лора пишут, что все задачи предложены людьми, которые у меня во френдах - [livejournal.com profile] rssh и [livejournal.com profile] jek_hor. (Чорт, и авторы статей в журнале, в общем-то тоже). "Объединенная секта функциональщиков, линуксоидов и гуру-программистов".

[identity profile] lionet.livejournal.com 2009-12-22 11:43 am (UTC)(link)
Для начала, рассмотрим что мы имеем в последней строке:

main = putStrLn . show $ answer ((12017639147+3)`div`2) [5,11,17,23,29,41,47]

Показываем результат работы функции answer, которая запускается с двумя магическими аргументами.

Затем идёт вот что:

answer alpha ps = sum [(if even (length s) then 1 else -1) * f (product s) | s <- filterM (const [True,False]) ps]
where m = case (alpha`mod`3) of 0->0; 1->2; 2->1
f p = (alpha-1-first)`div`(3*p) where first = head [x | x <- [p,2*p..], x`mod`3 == m]


пипец какой-то...

[identity profile] antilamer.livejournal.com 2009-12-22 11:47 am (UTC)(link)
At least you did your best :)

[identity profile] lionet.livejournal.com 2009-12-22 11:50 am (UTC)(link)
Да не говори, самому стыдно! :)