igorbor: (Default)
igorbor ([personal profile] igorbor) wrote2003-09-04 02:26 pm

Истории из жизни

Пришла однажды тетка устраиваться на работу. Судя по ее рассказам и резюме, был у нее вполне солидный опыт в программировании. Говорила она, что предпочитает работу, связанную по возможности с разработкой всяческих хитрых алгоритмов. И попросил я ее набросать мне алгоритм для определения того, является ли число простым или нет. (Задачка эта чем мне нравится - что там можно много всяческих оптимизаций придумать. Скажем, если человек в лоб делит на все предыдущие числа - это одно. Если четные пропускает - уже лучше. Если останавливается на половине - это уже что-то, а если додумывается до корня квадратного - то просто атас.)

Сначала она спросила меня, что такое простое число. Ну ладно, думаю, может быть, она образование получала не в России (мы с ней на русском разговаривали), и, соответственно, определение знает на английском или там на каком еще языке. Простое число, говорю, это число, которое делится только на себя, ну и на единицу, понятно. Вот 2, скажем - простое, а 4 - непростое. Понятно? - спрашиваю. Конечно, говорит, понятно. А делать-то, спрашивает, чего надо?

Напишите мне, говорю, алгоритм, который бы позволил для любого числа определить - простое оно или нет? И обьясняю для наглядности - вот, скажем, про 2, 3 и 4 я знаю, а вот, скажем, 37? Вот и придумайте алгоритм, который бы позволил определить, является ли число 37 простым или нет. Можете, говорю, блок-схемы рисовать, можете на псевдокоде - что Вам удобнее. Бумага-карандаш у Вас есть? не буду мешать, говорю, 15 минут Вам хватит? Да, говорит, хватит. Спасибо.

Пошел, кофе выпил, сигарету выкурил. Возвращаюсь, спрашиваю: готово? Еще пять минут, говорит.

Хорошо. Пошел, потрепался с мужиками. Возвращаюсь еще минут через 10. Готово?

Да, говорит. Готово. Является.

[identity profile] igorbor.livejournal.com 2005-01-09 11:00 pm (UTC)(link)
Ну да - в случае, когда это двухбайтный юникод, так и будет. То есть получается, что эти дополнительные списки требуют памяти столько же, сколько и словарь. Возможно, это приемлимо для данной задачи.

[identity profile] lake-of-fire.livejournal.com 2005-01-11 07:03 pm (UTC)(link)
Aga :-)
Zadacha - napisat' xoroshiy elektronniy slovar' :-)

[identity profile] igorbor.livejournal.com 2005-01-11 08:35 pm (UTC)(link)
А зачем может понадобиться искать слово в словаре по маске? Я как-то не могу сообразить, зачем такое может быть нужно в обычной жизни...

[identity profile] lake-of-fire.livejournal.com 2005-01-13 08:54 pm (UTC)(link)
v tom to i delo
kogda ishesh ne slovo
a gruppu slov otvechayushix kakomu to kriteriju.

naprimer advers*
kogda xochesh nayti i adverse i adversity i adversing i ...

ili naprimer ???
kogda xochesh nai'ti vse slova iz trex bukv :-)

neuzheli it is not useful?

A klient tak xotel, tak xotel...
i tak platil, taaak platil.. do six por plotit, mezhdu prochim :-))

[identity profile] igorbor.livejournal.com 2005-01-13 09:05 pm (UTC)(link)
Ну, насчет первого - тут в общем-то не нужно никакого поиска по маске, поскольку достаточно сортировки по алфавиту.

Насчет второго - слов из трех букв - я опять же не понимаю, какой в этом практический смысл. Кроссворды составлять? Хотя хозяин - барин, безусловно.

[identity profile] lake-of-fire.livejournal.com 2005-01-13 09:31 pm (UTC)(link)
Ну, насчет первого - тут в общем-то не нужно никакого поиска по маске, поскольку достаточно сортировки по алфавиту.

Ne skazhite, sudar'. Kak naschet naprimer, ivrita?
Kak naschet "go", "going", "undergo", "overgo"?

A kogda vy ne uvereni kak pravilno pishetsa slovo? Vy dumaete vse polzovateli umeyut bistro-bistro bez oshibok napisat' "elektrofikaziya"? :-))

A kak byt' s idiomami / phrasal verbs? "on my / his account?" Est' u nas takoi' headword v slovare. I kak zhe bednomu polzovatelju nayti prosto 'on somebody's account'?

ne znayu, koroche, mi tut u sebia pervuju versiyu zafigachili - narod tashitsa.

I vaashe - moyo delo predlagat'. Oni sami pokupayut kogda nado :-)

S uvazheniem
Gera

[identity profile] igorbor.livejournal.com 2005-01-13 10:32 pm (UTC)(link)
Да. Признаю. Недодумал. Особенно "on * account", конечно, здорово. Прям хоть покупай. Дорого?

[identity profile] lake-of-fire.livejournal.com 2005-01-14 08:27 am (UTC)(link)
:-))
Spasibo na dobrom slove :-)

U nas est' seychas pervaya versiya kotoruyu mi budem besplatno razdavat' kak prilozhenie k prodayusheysa knige-slovaru.

Ya mogu vam poslat' installatziyu esli vam eto interesno.

Tam konechno more vsego sdelannogo ne tak kak ya xotela no na to ona i pervaya versiya.

[identity profile] lake-of-fire.livejournal.com 2005-01-13 08:59 pm (UTC)(link)
дополнительные списки
it is not "in addition to"
it is "instead of"
Vot v chem fishka :-)

Kak by "alternative encoding" tipa ;-)

[nu... ved' xochetsja zh nemnozhko pogorditsa :-)]