Истории из жизни
Sep. 4th, 2003 02:26 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Пришла однажды тетка устраиваться на работу. Судя по ее рассказам и резюме, был у нее вполне солидный опыт в программировании. Говорила она, что предпочитает работу, связанную по возможности с разработкой всяческих хитрых алгоритмов. И попросил я ее набросать мне алгоритм для определения того, является ли число простым или нет. (Задачка эта чем мне нравится - что там можно много всяческих оптимизаций придумать. Скажем, если человек в лоб делит на все предыдущие числа - это одно. Если четные пропускает - уже лучше. Если останавливается на половине - это уже что-то, а если додумывается до корня квадратного - то просто атас.)
Сначала она спросила меня, что такое простое число. Ну ладно, думаю, может быть, она образование получала не в России (мы с ней на русском разговаривали), и, соответственно, определение знает на английском или там на каком еще языке. Простое число, говорю, это число, которое делится только на себя, ну и на единицу, понятно. Вот 2, скажем - простое, а 4 - непростое. Понятно? - спрашиваю. Конечно, говорит, понятно. А делать-то, спрашивает, чего надо?
Напишите мне, говорю, алгоритм, который бы позволил для любого числа определить - простое оно или нет? И обьясняю для наглядности - вот, скажем, про 2, 3 и 4 я знаю, а вот, скажем, 37? Вот и придумайте алгоритм, который бы позволил определить, является ли число 37 простым или нет. Можете, говорю, блок-схемы рисовать, можете на псевдокоде - что Вам удобнее. Бумага-карандаш у Вас есть? не буду мешать, говорю, 15 минут Вам хватит? Да, говорит, хватит. Спасибо.
Пошел, кофе выпил, сигарету выкурил. Возвращаюсь, спрашиваю: готово? Еще пять минут, говорит.
Хорошо. Пошел, потрепался с мужиками. Возвращаюсь еще минут через 10. Готово?
Да, говорит. Готово. Является.
Сначала она спросила меня, что такое простое число. Ну ладно, думаю, может быть, она образование получала не в России (мы с ней на русском разговаривали), и, соответственно, определение знает на английском или там на каком еще языке. Простое число, говорю, это число, которое делится только на себя, ну и на единицу, понятно. Вот 2, скажем - простое, а 4 - непростое. Понятно? - спрашиваю. Конечно, говорит, понятно. А делать-то, спрашивает, чего надо?
Напишите мне, говорю, алгоритм, который бы позволил для любого числа определить - простое оно или нет? И обьясняю для наглядности - вот, скажем, про 2, 3 и 4 я знаю, а вот, скажем, 37? Вот и придумайте алгоритм, который бы позволил определить, является ли число 37 простым или нет. Можете, говорю, блок-схемы рисовать, можете на псевдокоде - что Вам удобнее. Бумага-карандаш у Вас есть? не буду мешать, говорю, 15 минут Вам хватит? Да, говорит, хватит. Спасибо.
Пошел, кофе выпил, сигарету выкурил. Возвращаюсь, спрашиваю: готово? Еще пять минут, говорит.
Хорошо. Пошел, потрепался с мужиками. Возвращаюсь еще минут через 10. Готово?
Да, говорит. Готово. Является.
no subject
Date: 2003-09-04 11:30 am (UTC)no subject
Date: 2003-09-04 11:30 am (UTC)no subject
Date: 2003-09-04 11:35 am (UTC)Вдогонку
Date: 2003-09-04 11:37 am (UTC)no subject
Date: 2003-09-04 12:53 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
no subject
Date: 2003-09-04 11:42 am (UTC)Беда в том, что потом прихожу я, простая русская баба, на интервью, а на меня смотрят подозрительно...
no subject
Date: 2003-09-04 12:03 pm (UTC)Пришла девица - практикантка - вся такая программистка и работала типа уже где-то до того.
Объясняю - нужно написать программу "вырезающую" информацию из страниц - типа изучаешь - какие типы встречаются и "режешь" - простейший "parsing". Примеров таких программ у нас - полный сайт(уже сайтов 15 нарезано было - еще пяток собирались резать).
- Типа понятно? - Понятно!
- будут вопросы - заходи. Не стесняйся...
Через 2 дня приходит
готово - говорит...
Смотрю..... Она из сайта ВРУЧНУЮ повытаскивала информации в Ворд-файл.... Брррр.....
no subject
Date: 2003-09-04 12:16 pm (UTC)(no subject)
From:no subject
no subject
Date: 2003-09-04 12:09 pm (UTC)no subject
Date: 2003-09-04 11:51 am (UTC)http://www.livejournal.com/users/catpad/143215.html
no subject
Date: 2003-09-04 12:41 pm (UTC)У меня тоже была такая сотрудница. Ценность ее была в том, что она бы никогда от нас не ушла (несмотря на то, что зарплату у нас иногда по пол года не платят)потому что никуда бы в другое место ее бы не взяли. Когда я ей много раз показывала, на какие кнопочки нажимать, ее вполне можно было использовать на простых работах. Сканирование и распознавание текста, например. Хотя от глупости иногда портила что-нибудь.
А ведь когда-то училась на мех-мате. Простая русская женщина (как уже кто-то определил выше).
Правда мой начальник не выдержал, и в конце концов ее выгнал.
И теперь она в анкете про себя такое пишет...
Я случайно увидела. Очень удивилась.
Теперь у нас работает хорошая и умненькая девочка. А я все время боюсь, что скоро слиняет. Денег-то не платят.
no subject
no subject
Вспоминается история. Учитель пишет на доске уравнение, скажем 2x=3, и просит ученика найти x. "А чего его искать - вот он," - говорит ученик и показывает пальцем.
Но эта история покруче.
no subject
Date: 2003-09-04 01:17 pm (UTC)no subject
no subject
Date: 2003-09-04 02:53 pm (UTC)no subject
Date: 2003-09-04 06:02 pm (UTC)Телефонных интервью мы почему-то не проводили. А CV у тетки был как раз - загляденье. Про простые числа - ни слова :)
no subject
Date: 2003-09-04 08:45 pm (UTC)Ну да всё к лучшему в этом лучшем из миров...
no subject
Date: 2003-09-14 12:09 am (UTC)А я подумала про другую задачу (только не говори мне, что я балда: у меня ж кролик висит, чтоб всякие там не думали!) про алгоритм нахождения следующего простого числа. Тоже, понятно, не сложно. Вопрос не в этом. Ведь, например, четные числа глупо проверять, хотя и быстро. А можно придумать, чтобы программа шагала бОльшими шагами, а не проверяла все подряд?
no subject
Date: 2003-09-14 12:15 pm (UTC)При определении, является ли число простым или нет, можно пропускать не только четные числа, а вообще все непростые числа. Например, можно заранее найти все простые числа, скажем, до сотни, а потом нужный нам диапазон (возможно, кусками) просеять через решето Эратосфена (см. Яндекс :). И уже на оставшиеся в решете числа проверять. В таком вот аксепте.
А как определить минимальный шаг, в пределах которого следующего простого числа быть не может - я, честно говоря, не знаю.
(no subject)
From:(no subject)
From:(no subject)
From:Sorry
From: (Anonymous) - Date: 2003-09-24 05:40 pm (UTC) - Expand(no subject)
From:Ну дык...
From: (Anonymous) - Date: 2003-09-25 01:21 pm (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2003-09-25 04:36 pm (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2004-12-18 06:51 pm (UTC)i can explain why this is enough.
But it took me longer than 15 minutes to get it and perhaps i couldn't have done it without all the hints.
no subject
Date: 2004-12-21 10:42 pm (UTC)Но я ведь не просил ее написать мне наилучшее решение. Я бы удовлетворился любым. Вообще эта задача хороша тем, что после того, как человек напишет КАКОЕ-НИБУДЬ решение, можно давать ему мелкие подсказки и смотреть, как он думает. То есть сначала человек проверяет все подряд, потом - до n/2, потом - до n/4 и так далее методом последовательных приближений... :)
Либо же можно понять, какие книжки он читал. Если человек СРАЗУ говорит, что проверять надо от 2 до sqrt(n) - то, скорее всего, он или уже эту задачу решал раньше, или читал Кнута, например.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2006-11-24 08:42 am (UTC)