29 апр. 2007 г.

Раз испытав полет,
твои глаза навечно будут устремлены в небо.
Однажды там побывав,
на всю жизнь ты обречен тосковать о нем.

Леонардо да Винчи

12 апр. 2007 г.

Задачка: Три черепахи

Вдоль одной прямой ползут три черепахи:

В один и тот же момент времени черепахи говорят то, что видят:
первая говорит:
впереди меня одна черепаха и позади меня одна черепаха
другая черепаха говорит:
впереди меня две черепахи, а позади ни одной
третья черепаха говорит:
впереди меня одна черепаха и позади меня одна черепаха

черепахи не могут наползать друг на друга и за время пока говорят они не переползают через друг друга.


Как такое могло получиться ?

Задачка: 15 решек

На столе лежит много монет, среди которых 15 монет лежат решками вверх, все остальные монеты лежат орлами вверх (т.е решками вниз).

Как разделить эти монеты на две кучи, чтобы в них было одинаковое количество монет, лежащих решками вверх, при условии, что глаза завязаны и на руки одеты перчатки, которыми возможно почувствовать, монету, но изображение на сторонах монет нельзя почувствовать.

Задачка: 9 мудрецов

Давным-давно дело было. Решил старый царь жениться на молоденькой девушке, но мудрецы сказали - не бывать свадьбе. На что, царь приказал запереть 9 мудрецов в темнице и дал им ночь на раздумье. Утром их выпустят на площадь и оденут на головы чёрные и белые колпаки, так что каждый мудрец видит других, но не видит цвет своего колпака. Среди колпаков, как минимум, один белый и, как минимум, один чёрный колпак. Глашатай 9 раз призывает выйти все белые колпаки - после этого мудрецы должны разделиться по цветам своих колпаков. Если кто-то в белом колпаке останется среди чёрных колпаков - всех порубают на мясо, ровно как и если чёрный окажется среди белых, ровно как и если кто-то каким-то жестам, и тем более словами, передаст информацию о цвете колпака.

Какую стратегию нужно выработать мудрецам за ночь ?

Задачка: 19 грудусов на 19 равных частей

Дан угол в 19o (градусов). Как при помощи только циркуля разделить его на 19 равных частей ?

Задачка: 7 гирь

Есть гирьки с весами от 1 г до 1кг с шагом в 1 г, т.е. :
1г 2г 3г 4г ... 999г 1000г

Требуется из набора гирек единожды выбрать 7 гирек, так, чтобы потом на чашечных весах (которые могут показывать больше, меньше, равно) можно взвешивать любой груз от 1г до 1кг с шагом в 1г. Количество взвешиваний одного груза не ограничено.

Задачка: три выключателя, три лампочки.

Есть две комнаты - в одной три выключателя, в другой три лампочки накаливания. Каждый выключатель соединён только с одной лампочкой. Необходимо выработать методику в результате которой, произведя манипуляции с выключателями и перейдя в комнату с лампочками определить какой выключатель какой лампочке соответствует. Возвращаться в комнату с выключателями нельзя.

Задачка: два ряда по 7 чисел...

a1, a2, ..., a7 - 7 целых чисел. b1, b2, ..., b7 - те же самые числа, но как-то переставленные. доказать что (a1 - b1)(а2 - b2) .. (a7 - b7) чётное.

29 мар. 2007 г.

Бухайте бухашку !

идём давеча с женой на финтес, на встречу идут какие-то полубомжи с табличкой :
помогите
на
бухло

please
когда между нами осталось полшага - они выдали свою искромётную фразу, добрым и дружелюбным голосом :
- бухайте бухашку :)

28 мар. 2007 г.

CPU vs Memory ?

Если посмотреть внимательно на метод signum в java.lang.Integer, вычисляющим знак целого числа можно увидеть :
    public static int signum(int i) {
// HD, Section 2-7
return (i >> 31) | (-i >>> 31);
}

вместо ожидаемого
    public static int signum(int i) {
return i > 0 ? 1 : i < 0 ? -1 : 0;
}

В первом случае используется дополнительно две ячейки памяти, во втором случае больше используется cpu. Тесты показывают, что в java такая реализация не случайна - такое вычисление знака целого числа быстрее... на ~ 5%.

Задавшись вопросом - почему я помню не всю таблицу умножения, а только какие-то узловые точки. Например - я не помню, сколько будет 6 * 9, я помню, что 6 * 9 = 6 * 10 - 6, т.е (6 << 1)10 - 6. Или сколько будет 5 * n ? Проще сказать, что это 10 * n / 2 т.е (n << 1)10 / 2. Хотя квадраты, конечно же, прожжённое на вечную память.

Почему мы так старательно оптимизируем память, сокращая различные ассоциативные таблицы (карты памяти), превращая их в инструкции для cpu ?