powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / из тестового задания
25 сообщений из 166, страница 3 из 7
из тестового задания
    #39150058
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovDima T,

на самом деле это чрезвычайно простая задача,
даже и не задача вовсе,
просто необыкновенно сильно сбивает с толку )
Сбивает непрактичность, т.е. никогда-нигде подобное не требовалось в реале. Мозг закостенел от практики, может утром на свежую голову что-то озарит.
...
Рейтинг: 0 / 0
из тестового задания
    #39150083
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TPS Aleksandr Sharahov, заглянул под спойлер, понятнее не стало.

PPS Это какая-то олимпиадная задачка.
Дима +1

Тоже заглянул под спойлер. Я не понял как была получена таблица и как решать эту задачу.

Есть подозрения что условия избыточные (есть отвлекающие н ненужные сведения) или
я просто решаю задачу слишком сложно.
...
Рейтинг: 0 / 0
из тестового задания
    #39150095
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonили я просто решаю задачу слишком сложно.
Ты (и я) решаем ее по инерции, по привычке, по классическим алгоритмам. А тут алгоритм из серии "оторви и выбрось", он ненужный, никогда в жизни не пригодиться. Я уже писал что помню что попадалась подобная задача с решением, но даже задумываться не стал из-за отсутствия практического применения алгоритма.
...
Рейтинг: 0 / 0
из тестового задания
    #39150103
Apoj_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TХЗ как решать, но я проверялку написал

Тупо генерит все варианты и проверяет что из каждого можно получить все 8 комнат одним переключением.

Алгоритм в методе algo(), менять только его.

SWITCH_COUNT - кол-во переключателей. 40 это очень долго 10^13 вариантов.
Тестил на 30.

Формула SUM % N не работает при N от 9 до 13, дальше не тестил.
Ещё бы написали алгоритм проверки алгоритма проверки. Было ж указано, что при mod 9 8 и 0 одно и то же. У Вас я это не увидел при проверке.
ЗЫ Мне уныло лезть в c++:
0) надо ставить к студии с++
1) я "туда" лез последний раз 6 месяцев назад (надо было решать тестовое задание для моего нонешнего работодателя)
2) удовольствия при п.1 не получил и лезть туда без особой нужды нет ни малейшего желания.
...
Рейтинг: 0 / 0
из тестового задания
    #39150127
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tmaytonили я просто решаю задачу слишком сложно.
Ты (и я) решаем ее по инерции, по привычке, по классическим алгоритмам. А тут алгоритм из серии "оторви и выбрось", он ненужный, никогда в жизни не пригодиться. Я уже писал что помню что попадалась подобная задача с решением, но даже задумываться не стал из-за отсутствия практического применения алгоритма.
Ну даже если перевести ее в плоскость чистой математики.

Вам на вход подали целое число. Вам разрешено а нему прибавить или вычесть 2^N (инвертировать любой битик) таким
образом чтобы получить число которое дешифровав таблично или через функцию
получить от 1 до 8.

Честно. Я не знаю. Для меня - это пока задача больше на интерпретацию смыслов.

Мне почему-то она напоминает "бесконечный поезд в космосе" или "самолёт взлетающий
с транспортёра". И проблема их не в том что они не решаются а в том что их условие с дефектом
или неполное.
...
Рейтинг: 0 / 0
из тестового задания
    #39150134
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

думал, что только меня одного так поначалу смутили условия,
ну тогда точно задача стоит заметки в бложике )
...
Рейтинг: 0 / 0
из тестового задания
    #39150136
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИ проблема их не в том что они не решаются а в том что их условие с дефектом
или неполное.

а вот это уже нужно доказывать :)
...
Рейтинг: 0 / 0
из тестового задания
    #39150138
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,
объясните, пожалуйста, как пользоваться вашей табличкой
=)
...
Рейтинг: 0 / 0
из тестового задания
    #39150140
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblabAleksandr Sharahov,
объясните, пожалуйста, как пользоваться вашей табличкой
=)

Закодировать:
1. найти строку с номером, равным текущему состоянию выключателей, например, 42 (или 0101010 в двоичной системе).
2. найти столбец, соответствующий номеру комнаты (в диапазоне 0..7, ты ж программист).
3. новое состояние выключателей установить равным содержимому ячейки на пересечении найденных строки и столбца.

Раскодировать:
1. найти в таблице любую ячейку, содержащую наблюдаемое положение переключателей.
2. определить номер комнаты, соответствующий столбцу найденной ячейки.
...
Рейтинг: 0 / 0
из тестового задания
    #39150142
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,
попробую :)
Спасибо!

ПС: я задачу решила методом чита, но засомневалась =)
...
Рейтинг: 0 / 0
из тестового задания
    #39150158
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,
...
Рейтинг: 0 / 0
из тестового задания
    #39150159
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,
еще вопрос
почему используете 7 переключателей и 8 комнат?
...
Рейтинг: 0 / 0
из тестового задания
    #39150166
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblabПС: я задачу решила методом чита, но засомневалась =)
Что за метод чита?
...
Рейтинг: 0 / 0
из тестового задания
    #39150170
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblabAleksandr Sharahov,
еще вопрос
почему используете 7 переключателей и 8 комнат?

Потому, что для 8 комнат необходимо и достаточно 7 переключателей )

И вообще, для 2^N комнат требуется (2^N)-1 переключателей,
что как раз и доказывает, что ваш тестирующий не в ладах с двоичной системой )
...
Рейтинг: 0 / 0
из тестового задания
    #39150186
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

а ссылку на результат можно?
кстати еще момент, по условию вы жили в одной из комнат, и по идее эту комнату можно было бы исключить

mayton,

для шифровки используем первые 3 ячейки.
если наш агент приходит в гостиницу и комната для него заказана, используем колонку Room booked
если наш агент приходит в гостиницу и комната для него предварительно не заказана,
используем колонку Room not booked
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
---------------------------------------------
|Room Number | Room booked | Room not booked|
---------------------------------------------
|Room 1	     |000          |111             |
---------------------------------------------
|Room 2	     |001          |110             |
---------------------------------------------
|Room 3      |010	   |101             |
---------------------------------------------
|Room 4	     |011	   |100             |
---------------------------------------------
|Room 5      |100          |011             |
---------------------------------------------
|Room 6      |101	   |010             |
---------------------------------------------
|Room 7      |110          |001             |
---------------------------------------------
|Room 8      |111          |000             |
---------------------------------------------

PS: в крайнем случае используем жвачку
...
Рейтинг: 0 / 0
из тестового задания
    #39150188
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblabAleksandr Sharahov,

а ссылку на результат можно?
кстати еще момент, по условию вы жили в одной из комнат, и по идее эту комнату можно было бы исключить



Ссылку дам, как только напишу заметку в бложик.
По идее в той комнате, где я жил, мог жить не только я.

А условия можно очистить от шелухи, например:

Компьютер генерирует 2 случайных числа: первое - в диапазоне 0..7, второе - в диапазоне 0..127.
Необходимо сначала закодировать первое число, а затем по коду восстановить его.
В качестве кодов разрешается использовать числа из диапазона 0..127,
которые отличаются от второго случайного числа не более чем одним битом.
...
Рейтинг: 0 / 0
из тестового задания
    #39150193
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov...Потому, что для 8 комнат необходимо и достаточно 7 переключателей )
И вообще, для 2^N комнат требуется (2^N)-1 переключателей,...

тут больше комбинаторика кмк. хз.
но для
3 комнат достаточно 2 бита
4 комнат достаточно 3 бита
и т.д..
так что формула не работает. либо не так написали Вы её.

Но ответ похоже правильный во втором топике Вы написали - 7 бит достаточно.

(круглый)
...
Рейтинг: 0 / 0
из тестового задания
    #39150197
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0,

в каком именно случае (при каком N) формула не работает?

Замечание. 2^N означает 2 в степени N.
...
Рейтинг: 0 / 0
из тестового задания
    #39150200
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovв каком именно случае (при каком N) формула не работает?
...

вообще-то и формулу у Вас не вижу...
опишите где и что Вы подразумеваете?

закономерность которую вижу сам:
N = K - 1
где
K = комнаты
N = переключатели.
...
Рейтинг: 0 / 0
из тестового задания
    #39150205
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0Aleksandr Sharahovв каком именно случае (при каком N) формула не работает?
...

вообще-то и формулу у Вас не вижу...
опишите где и что Вы подразумеваете?

закономерность которую вижу сам:
N = K - 1
где
K = комнаты
N = переключатели.

Если не видите, тогда почему утверждаете, что моя формула не работает или я не так ее написал? )
Что, где, когда: 18698883 .
...
Рейтинг: 0 / 0
из тестового задания
    #39150209
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov...И вообще, для 2^N комнат требуется (2^N)-1 переключателей...

окейно...
Если
N - это комнаты...
то тогда для 3 комнат:
2 в степени 3 = 8.
8 - 1 = 7 переключателей (что является избыточно).

Если
2 в степени N = комнаты...
То тогда записав выражение
комнаты - 1 = переключатели.

отсюда моё замешательство, отсюда и задал вопрос = что Вы имели ввиду...
...
Рейтинг: 0 / 0
из тестового задания
    #39150214
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0Aleksandr Sharahov...И вообще, для 2^N комнат требуется (2^N)-1 переключателей...

окейно...
Если
N - это комнаты...
то тогда для 3 комнат:
2 в степени 3 = 8.
8 - 1 = 7 переключателей (что является избыточно).

Если
2 в степени N = комнаты...
То тогда записав выражение
комнаты - 1 = переключатели.

отсюда моё замешательство, отсюда и задал вопрос = что Вы имели ввиду...

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

В публикациях на (около)математические темы,
если не оговорено противное,
N обычно означает произвольное натуральное число,
а не комнаты, переключатели и т.п.
...
Рейтинг: 0 / 0
из тестового задания
    #39150216
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подкину вариант.

1) Берём первые три выключателя и называем их "зерно" - S, оно останется неизменным. Берём следующие 7 штук и называем их "маска" - M, одним из них чуть позже щёлкнем. Номер комнаты назовём R.
2) Для i = 1..7: если M[i] включён, то запоминаем новое значение зерна: S = S xor i, полученное преобразованное зерно назовём S*.
3) Щёлкаем переключателем маски номер (S* xor R) (если S* = R, то щёлкать не надо).
Котово! Агент-сменщик повторяет шаги 1 и 2, и получает S* - искомый номер комнаты.

например:
1) пусть S = 010, M = 0010001, R =5.

2) 010 xor 011 = 001
001 xor 111 = 110

3)5 xor 110 = 101 xor 110 = 011 = 3, щёлкаем третьим выключателем.

Приходит сменщик:
1)S = 010, M = 0000001
2)010 xor 111 = 101 = 5.
...
Рейтинг: 0 / 0
из тестового задания
    #39150218
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov...
В публикациях на (около)математические темы...

определение выражения типа "формула" из вики:

формула — всякая чисто символьная запись

где в дальнейшем идёт расшифровка этих самых символов.
Простите - так привык с того века. Наверное это мои замороты - хз.
В конечном итоге то, что Вы написали вызвало больше вопросов, чем ответов(у меня лично). Чтоб не гадать - я задал Вам вопрос.
На который кстати Вы не ответили (по поводу уточнить Ваше высказывание).

Если Вы пытались записать выражение типа

N = K - 1
где
K = комнаты
N = переключатели.

то нафига степени двоек впрягли? Чтоб типа поболее символов? :)

(круглый)
...
Рейтинг: 0 / 0
из тестового задания
    #39150223
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0нафига степени двоек впрягли? Чтоб типа поболее символов? :)


Нет, не для этого.

А для того, чтобы записать утверждение в общем виде для произвольного натурального параметра N.
Дело в том, что я могу доказать справедливость приведенного утверждения лишь
для количества комнат, равного натуральной степени двойки.

Если вы можете доказать нечто подобное для произвольного количества комнат,
то вам, конечно, не за чем "впрягать степени двоек". )
...
Рейтинг: 0 / 0
25 сообщений из 166, страница 3 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / из тестового задания
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]