avva: (Default)
[personal profile] avva
Эта запись будет интересна в основном программистам.

Красивая задачка, которую подкинули во внутренней рассылке:

Отсортируйте пять чисел, используя не более семи сравнений.

(комментарии оставлю скрытыми до завтра)

Update: уточнение условий: складывать/умножать числа не разрешается. Вообще разрешается только сравнивать их друг с другом, а больше никакой информации о них не дано. "Сравнивать", определенности ради, означает применять операцию "<" или ">", на выбор.

Update: открываю все комментарии. Довольно много правильных ответов, найденных с помощью "перебора" в определенном смысле. В этом нет ничего зазорного (и я тоже так решил), но если вы нашли решение таким способом, могу порекомендовать в качестве дополнительного упражнения - найти способ "объяснить" это уже найденное решение более кратким и понятным образом. Такие "простые" решения в комментах тоже есть, но всего два-три.

Date: 2008-07-16 08:29 pm (UTC)
From: [identity profile] avva.livejournal.com
Это не работает - у вас неявное предположение слишком хороших раскладок исходных чисел.

Date: 2008-07-16 08:32 pm (UTC)
From: [identity profile] adventurism.livejournal.com
Проверил на разных вариантах чисел. Приведите пример, на котором мой вариант не сработает.

Date: 2008-07-16 08:37 pm (UTC)
From: [identity profile] avva.livejournal.com
A, B, C, D, E = 1, 1000, 400, 300, 200

Date: 2008-07-17 05:31 am (UTC)
From: [identity profile] adventurism.livejournal.com
Да, ряд на уменьшение-то я и не проверил. Согласен. Поищу еще в обед решение...

January 2026

S M T W T F S
    1 2 3
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 4th, 2026 10:57 pm
Powered by Dreamwidth Studios