Конкурс в fpprog#3
На лоре феерический срач по третьем номеру журнала и заданиям на конкурсе в нем.
Кстати, задачи реально сложноваты, да. Там одного анализа входных данных - башкой удвинуться можно. Это, кстати, и правильно, а то всякий идиотизм учебный с обычных олимпиад и конкурсов в уныние вгоняет.
Да, кстати, я понял, что деградировал окончательно - мне хотелось бы сделать решение тамошних задач, но я этого сделать не смогу - ибо туп, ленив, занят на двух работах, а интереса, который бы меня заставил это все преодолеть уже того нет.
Видимо, придется в итоге все таки идти работать в НИИ Говна и Торфа, администрировать убунты у научных сотрудников, программировать "через силу" - это невозможно, быдлокодерское говнище получается.
PS: Фак мой мозг. Анонимусы с лора пишут, что все задачи предложены людьми, которые у меня во френдах -
rssh и
jek_hor. (Чорт, и авторы статей в журнале, в общем-то тоже). "Объединенная секта функциональщиков, линуксоидов и гуру-программистов".
Кстати, задачи реально сложноваты, да. Там одного анализа входных данных - башкой удвинуться можно. Это, кстати, и правильно, а то всякий идиотизм учебный с обычных олимпиад и конкурсов в уныние вгоняет.
Да, кстати, я понял, что деградировал окончательно - мне хотелось бы сделать решение тамошних задач, но я этого сделать не смогу - ибо туп, ленив, занят на двух работах, а интереса, который бы меня заставил это все преодолеть уже того нет.
Видимо, придется в итоге все таки идти работать в НИИ Говна и Торфа, администрировать убунты у научных сотрудников, программировать "через силу" - это невозможно, быдлокодерское говнище получается.
PS: Фак мой мозг. Анонимусы с лора пишут, что все задачи предложены людьми, которые у меня во френдах -
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
no subject
а это насчёт идиотизмов `олимпиадных`. слабо? ;]
no subject
no subject
no subject
Ну а я просто посыплю голову пеплом - связь между задачей и ответом для меня сильно смутная :)
no subject
По сути там просто надо найти count {x in 1..N-1: coprime(x,N) AND (x+N)`mod`3 == 0}, где N=(K+3)/2, где K - число в условии.
Для этого я разложил руками N на простые множители (coprime(x,N) <-> x не делится ни на один из них), и с помощью стандартной формулы про диаграммы Венна посчитал этот count более или менее влоб.
no subject
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]
пипец какой-то...
no subject
no subject