Pull to refresh

Comments 189

Задача какая-то очень простая…
2b50c3947ebc7c4e8b03c9026b0612e2
У вас исключительно другой вариант ответа, в отличие от остальных :)
a9526a3e720b1655404b3d7a05d28d5b

А от чего Вы защищаетесь посредством MD5? Полный перебор MD5 (при известном начале) достиг уже 10^9 строк/сек/устройство
Чтобы самых ленивых отсеять, не более :)
Можно не перебирая MD5 узнать ответ не решая. Думаю, очевидно как, но писать явно не буду, вдруг испорчу кому-нибудь все.
В случае OLS вообще до 9-ти досчитать ;)
Так и знал, что если скажу не я, то скажет кто-нибудь другой.
Хомяки хабра не любят давать другим хомякам 2 шага или 1 на выбор? ;)
Или на сколько давно сложность числовой логики стала запредельным секретом?
UFO just landed and posted this here
Зачем инвайт тому, кто оставил комментарий?
дорогому другу подарить, например
75b71a6640d2243dcc40d769d37093f8 например. Ведущих нулей в ответе не приписывал.
d4f725ff238c5619bcca368fb035b1b8
Ну так не интересно, уже куча народу правильно ответила.
Кстати, схема не очень хорошая, так как «злоумышленник» знает «твоеимянахабре». А XX всего 64k вариантов… Даже 4 байта проверяются на раз.
XX всего 100 вариантов же (от 00 до 99), если я правильно понял что имеется ввиду
Для товарища это, видимо, просто два байта (:
А вообще, какие такие 100? Всего восемь пар же! Или вы предлагает бедняга при неверном выборе носка, класть всё обратно? Но тогда и сотни может не хватить.
Тихо! Вы уже часть решения разболтали.
В посте на Хабре написано про 2 символа. С чего это вы взяли про 00..99? Если у вас так в решении получается, то это ещё ничего не значит.
4 байта это 2 символа по 2 байта каждый (если у нас 2 байта на символ, русские буквы одним байтом не записываются в Unicode)
да, я сделал неверное допущение, что условие задачи уже известно =)
a0920cec4e55f08245ea58bb18b3c1df
Это традиционный ответ

Если же формат ответа соответствует предложенному, то тогда:
6dde362677dd804667d678ec2974c1ae

Ну и наконец, если «он» трушный, с правильной индексацией (аля С/С++), то тогда ответ будет:
c343bbffb6ce18fa063db4d35d369ca6
1. 9
2. 09
3. Что за мысли тут летают?
Печально, сбило с толку то, что написано в скобочках.
Количество в С++ это не индекс.
char buff[9];
Но buff индексируется от 0..8… Так что ответ по количеству а не по индексу.
Полагаю, что ответ предполагалось дать в том виде, который вы обозначили как «традиционный», ибо, интерпретировав авторское «XX» как маску ввода, можно залезть в совершенные дебри, например:
Осторожно, спойлер
Если одмин — кореец, то правильный ответ в «формате» может быть вообще 아홉 :)
Друг volter_9, которому нужен инвайт, предоставил ответ
ca831ea73d880b3085de9f464a1a1811

(использовался его ник)
Обратите внимание, в условии сказано «гарантировано».
Я пытался переубедить :)
Переписка, с очередным ответом, который тут уже несколько раз был
BaNru: Ты ищешь среднестатисчическое, а в задаче какой вопрос?
volter_9: “гарантировано” )
volter_9: Ну а зачем ему 9 штук перебирать ) 5-ти хватит

Ну может за красивые глазки красивое решение дадут юному программисту
Скрытый текст
Кстати, если считать «оранжевый» и «бело-оранжевый» — одним цветом, то действительно ответ — пять.
Скрытый текст
А вы когда витуху обжимаете тоже их за один цвет считаете?
Скрытый текст
Мы же про носки, а не про витуху тут. Я сказал бы, если «бело-оранжевые» носки катят, то один полностью оранжевый, а второй полосатый — довольно оригинально, но не так уж и «клоунски».
Скрытый текст
Учитывая все факты изложенные в задаче и его плохом вкусе, то бородатому сисадмину будет пофигу что одевать:
1) про ужасный вкус сказали
2) он скорее всего хипстер или хиппи
3) он сисадмин, и ему пофиг на носки, особенно после пива или с бодуна
imageimage
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Кончайте уже спойлерить.
Ого, ну на 10ом можно было уже закончить) $('#comment_7964683').find('.spoiler').length
Я их, честно говоря, не считал, а размножались они (с какого- то момента) экспоненциально. Так что, там должно быть число вида x*2^n где x<10, n~5.
Всё верно: `2 * Math.pow(2, 5) === 64`
57cbc69fae2159283b2a4e32ea7502e0
Кто-Что-ответил
$.getScript("//cdn.jsdelivr.net/jshash/2.2/md5.js", main);
function main(){
    $('#comments > .comment_item')
        .map(function(){
            return {
                username: getUsername(this),
                answers: getAnswers(this)
            }
        })
        .toArray()
        .filter(function(x){
            return x.answers.length > 0
        })
        .map(function(x, i){
            return {
                username: x.username,
                answers: x.answers.map(function(md5){
                    return brute(x.username, md5);
                })
            };
        })
        .forEach(function(x){
            console.log(x.username, x.answers);
        })
    function getAnswers(node) {
        var answers = [];
        node
            .querySelector('.comment_body > .message')
            .textContent
            .replace(/\w{32}/g, function(md5){
                answers.push(md5);
            })
        return answers;
    }
    function getUsername(node) {
        return node
            .querySelector('a.username')
            .textContent
    }
    function brute(username, answer){
        var i = -1;
        while(++i < 200){
            if (hex_md5(username + i) === answer) 
                return i;
            if (i < 10 && hex_md5(username + '0' + i) === answer) 
                return i;
        }
        return -1;
    }
}

И в фоксе пашет, и в хроме
Если инвайт только один, то это давно потеряло всякий смысл.
с нулем если, то d4c2e4ef2f4880f15dc365a7c9d17112
UFO just landed and posted this here
по формату задания: 7e09275b902547d1e21c4f6299cc8638

в обычной форме: 9c20075c0c9ebe102e3c98bfbffb4ce5.
если «XX» — 2bf9e981221536b524ebfa3cab52f842

Для тех, кто пытался считать, начиная с нуля: заметьте, в вопросе есть слово «сколько».
Сдуру посчитал мат.ожидание :D
Все оказалось гораздо проще:
2381f6564f5f07e1ca5fc2f64f38cf6a

c ведущим нулем:
ab669420b8f972e2e2575767ab6c9f01
3b1259e23065c86610cf1affdc97f60e,
336d95a85a273c84fc4974bd0e485d16 (with leading zero).
373ca060736ab883aa859a1209bd1bad
ff4147b35dee96394e253e9ba565fdf4 (с нулем)
Последние 3 символа первого ответа неамекают, что без нуля — не подохдот (:
а вообще задача более чем простая
как ответ можно вычислять с нулём? 0 — это что, не взял значит?
ну в задании написано твоеимянахабреXX
вот без нуля ответ: твоеимянахабреX
а с нулем: твоеимянахабре0X
Писали бы уж полностью — TIA/EIA 568B
3834948e5fd0f959670b1b0abdfd545c
a0bcc0a2f4b8b43075e3f47aec813b1f (с нулем)
Если задача не только на сообразительность, но и на внимательность, то:
4eaa3c2a2f8969b33fa8f53e2bca4a55
Если бородатый, то
51e40f1e948b657554f878d3b6c06133
81f06f633a7c3cb37cb19d4499457d0d
Или 79c2d32df4c6fd801e522eadd9342ea4, если формат ответа все-таки 2 символа.
Как то так
0089bc357aa535fb5814e028f442c415

Хотя если все же мыслить не совсем стандартно
2313d819913c3f0d370fd9aa767cbc43
условие задачи не совсем корректно. если читать буквально — то
Скрытый текст
это ящик с бесконечным или неизвестным числом носков и задача решения не имеет

а если там
Скрытый текст
8 пар
, тогда ответ — b9453e513911b9774e1d657855a09cfc
кстати, перебором вручную за пару секунд можно расшифровать любой ответ выше :) даже javascript для перебора писать дольше.
p.s. забавно, кто-то пишет с нулем, кто-то без
Скрытый текст
это ящик с бесконечным или неизвестным числом носков и задача решения не имеет

Как раз всё правильно, неважно, бесконечное количество самих носков или конечное, важно, что их там всего N типов носков и это N конечное. A нужно всего-то чтобы среди взятых оказалось два ОДИНАКОВЫХ, не важно, какого типа. Если вам в силу бесконечности попадаются только носки одного типа, уже после второго носка вы имеете два одинаковых. Если в силу случайности каждый новый носок — другого типа, то «другие» типы закончатся после того, как вы взяли N носков: следующий обязан быть таким же, как один из уже имеющихся у вас, и таким образом вы точно имеете как минимум два одинаковых, сразу взяв N+1, сколько бы всего их там в ящике ни было.
Конечно, каждого типа должно быть как минимум два (опять повторю, неважно, может быть два оранжевых и бесконечное число коричневых — тогда вероятно, вы возмёте два коричневых)
логично, это что-то я обсчитался
зато мой комментарий будет иметь смысл, если нужно подобрать
Скрытый текст
гарантированно разные носки
UFO just landed and posted this here
UFO just landed and posted this here
Виноват, исправляюсь
30edef5d8369dea182ebcf04dd8ec27b
ccf83b058491d53cb84d1100c2e42d07 — с ведущим нулём. Имхо, в постановке задачи он предполагается
e13bbf8d99a426317385ccfabc3a5493
4893436158f7f6cdbd61737bd5dccebb (с ведущим 0)
Ayahuaska, ответов больше, чем мы ожидали. Тут не мало, а на почте еще 257 ответов. Заканчиваем формирование общего списка верно ответивших, а рандом — это быстро.

Потерпите еще немного, пожалуйста.
Ну вы это, апдейтик бы запили о том, что «Вас много, а я один/одна!», а то уж хочется поздравить победителя (:
Вот интересно, есть ли ответившие неверно?)
sferrka
Count %
habr
total 132 100%
false 19 14%
true 113 86%

mail
total 342 100%
false 40 12%
true 302 88%
Grand Total 474
Sign up to leave a comment.