- 1
BFAAAACOAADODBFACACGOAAOCCBDBFADCCBAACODBFADCAOAACOBGEDOCCCGAACDACCCGCCBDEEBEAAOEBBFBGFAACBADBADBGOAACBBDBBDCGEABEDBFAEBCOAAABAAOCOCAEOADADBFACACBBAAECBBBCFBCBAOAAGOBGODBODAD
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+127
BFAAAACOAADODBFACACGOAAOCCBDBFADCCBAACODBFADCAOAACOBGEDOCCCGAACDACCCGCCBDEEBEAAOEBBFBGFAACBADBADBGOAACBBDBBDCGEABEDBFAEBCOAAABAAOCOCAEOADADBFACACBBAAECBBBCFBCBAOAAGOBGODBODAD
Игра для ДОС в машинных кодах на системе счисления wct. (программа - http://yadi.sk/d/i9Me1IQ7MbHCD wct editor). http://wctsite.tk.
+128
(defun primes-under (limit &optional (filter-depth (truncate (log limit))))
(labels ((%purge (prefix table depth)
(iter
(for (key value) :in-hashtable table)
(for mul := (* key prefix))
(while (< mul limit))
(when (> depth 0) (%purge mul table (1- depth)))
(remhash mul table))))
(let ((primes (iter
(with p := (make-hash-table))
(for i :from 2 :below limit)
(setf (gethash i p) t)
(finally (return p)))))
(iter
(for (key value) :in-hashtable primes)
(%purge key primes filter-depth)
(finally
(return
(iter
(for (key value) :in-hashtable primes)
(reducing key :by #'+))))))))
Вопрос к знатокам: почему так работает? (у меня чисто случайно получилось)
Для тех, кому влом разбираться:
Задача выше - код из Прожект Ойлер. Нужно найти сумму всех простых чисел меньше 2000000 (двух миллионов).
Методом подбора было установлено, что если из всех чисел меньше N последовательно удалять их произведения N_0 * N_1 * ... * N_m, где m = floor(log(N)), то, по крайней мере на сколько меня хватило посчитать, не-простых чисел не остается.
Вопрос, как связан log(N), и можно ли вообще надеятся на то, что это правило - универсально (например, что степени двойки никогда не будут меньше N).
+125
% -*- mode: Prolog -*-
:- module e9.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is cc_multi.
:- implementation.
:- import_module int, float, list, string, math.
:- func root(int) = int.
root(Number) = floor_to_int(sqrt(float(Number))).
:- func squares_under(int, int) = list(int).
squares_under(From, To) = Result:-
(Square = From * From,
(if Square =< To
then Result = [Square | squares_under(From + 1, To)]
else Result = [])).
:- pred list_to_disjunction(list(int)::in, int::out) is nondet.
list_to_disjunction([Head | Tail], Result):-
(Result = Head; list_to_disjunction(Tail, Result)).
:- pred summands_of(list(int)::in, int::in, { int, int, int }::out) is cc_nondet.
summands_of(Squares, Sum, { A, B, C }):-
list_to_disjunction(Squares, As),
list_to_disjunction(Squares, Bs),
list_to_disjunction(Squares, Cs),
As < Bs, Bs < Cs,
As + Bs = Cs,
root(As) + root(Bs) + root(Cs) = Sum,
A = As, B = Bs, C = Cs.
main(!IO):-
Sum = 1000,
Squares = squares_under(1, Sum * Sum),
(if summands_of(Squares, Sum, { A, B, C })
then io.format("Answer: A = %d, B = %d, C = %d\n", [i(A), i(B), i(C)], !IO)
else io.format("No solutions\n", [], !IO)).
Давно как-то мы не вспоминали Прожект Ойлер.
Язык: Меркури,
Эффективность решения: наверное, полный пиздец.
Для тех, кому нечем заняться: http://joyreactor.com/post/954661
+130
<input id="resetbutton" class="btn btn-info" type="reset" value="Reset" name="reset"></input>
Джун порадовал. Не хватает комментария "Шоб наверняка!"
+129
<script>
// Browser Window Size and Position
// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
// you may copy these functions but please keep the copyright notice as well
function pageWidth()
{ return window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null; }
function pageHeight()
{ return window.innerHeight != null ? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null ? document.body.clientHeight : null; }
function posLeft()
{ return typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0; }
function posTop()
{ return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0; }
function posRight()
{ return posLeft() + pageWidth(); }
function posBottom()
{ return posTop() + pageHeight(); }
function SetWindowSize(s, h, w) {
var wid = pageWidth();
var hei = pageHeight();
var n_wid = Math.round(wid * w);
var n_hei = Math.round(hei * h);
s.SetWidth(n_wid);
s.SetHeight(n_hei);
}
function SetWindowW(s, w) {
var wid = pageWidth();
var n_wid = Math.round(wid * w);
s.SetWidth(n_wid);
}
</script>
<html>
...
<td>
<dx:ASPxButton ID="AddCopyTemplate" runat="server" Text="Создать копию"
AutoPostBack="False"
CssFilePath="~/App_Themes/Office2010Black/{0}/styles.css"
CssPostfix="Office2010Black"
SpriteCssFilePath="~/App_Themes/Office2010Black/{0}/sprite.css"
Wrap="True" >
<ClientSideEvents Click="function(s, e) {
AddCopyTemplate();
}" Init="function(s, e) {
Get_Sizes_wid(s,1075);
}" />
</dx:ASPxButton>
</td>
<td>
<dx:ASPxButton ID="AddTemplate" runat="server" Text="Создать"
AutoPostBack="False"
CssFilePath="~/App_Themes/Office2010Black/{0}/styles.css"
CssPostfix="Office2010Black"
SpriteCssFilePath="~/App_Themes/Office2010Black/{0}/sprite.css">
<ClientSideEvents Click="function(s, e) {
AddTemplateClick();
}" Init="function(s, e) {
Get_Sizes_wid(s,1075);
}" />
</dx:ASPxButton>
</td>
...
</html>
я даже не знаю, в какой раздел это постить, но пусть будет тут.
товарищ, пользовался горячелюбимыми контролами от DevExpress, которые работают херпойми как, но сейчас не об этом.
в секции ClientSideEvents есть скрипты, которые выполняются на клиенте при старте, так вот он и поставил туда вызов функции, которая выставляет размеры для элементов.
это одностраничное приложение на 1100 строк только одной размеки, где используется огромное количество различных элементов, панели, гриды, гнопки, модальные окна, и много всего прочего... и ни у одного из них не заданы вообще никакие размеры, все работает на этих JS функциях.
эти волшебные цифры, которые передаются в функцию рассчитаны на его монитор, и как только они отрываются на другом мониторе с другим разрешением, то эти две кнопки занимают примерно 80% экрана.
а самое главное, что модальные окна занимают примерно 80% высоты и ширины экрана, и сначала они рисуются по центру экрана, а потом увеличиваются функцией, из-за чего они уезжают за границы экрана
+130
import Control.Arrow
more_than_4_minimum_increased_to_100_from_list_of_pairs =
map fst >>>
filter (>4) >>>
minimum >>>
(+100)
main = do
let l = [(i,j) | i <- [2,4..7], j <- [2..i]]
print l
print $ more_than_4_minimum_increased_to_100_from_list_of_pairs l
Игра:
Есть один одинокий анон, который пытается написать на схемке аналогичный код. Но он никак не может найти в схеме генератор списков. Помоги маленькому анону найти путь в своей жизни. Антон - нея.
+138
http://www.microsoft.com/ru-ru/smb/campaigns/get-modern/default.aspx
Таймер идёт назад.
Да они поехали!
+118
f g l = hylo l (.) (\n -> (g, n-1)) (==0)
Этот пример использует hylomorphism.
Композируем функцию типа (.) g(l) пока не наступит n==0
+127
http://ic.pics.livejournal.com/sharpc/9812774/55307/55307_original.png
Я вот думал, а не запостить ли в раздел PHP...
+143
http://prntscr.com/34tyg5
wat?
PS, капча 2882.