М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
manje
manje
20.10.2020 20:12 •  Информатика

Реализуйте класс Table, который хранит целые числа в двумерной таблице. При инициализации Table(rows, cols) экземпляру передаются число строк и столбцов в таблице. Строки и столбцы нумеруются с нуля.

table.get_value(row, col) — прочитать значение из ячейки в строке row, столбце col. Если ячейка с индексами row и col не лежит внутри таблицы, нужно вернуть None.

table.set_value(row, col, value) — записать число в ячейку строки row, столбца col. Гарантируется, что в тестах будет в запись только в ячейки внутри таблицы.

table.n_rows() — вернуть число строк в таблице

table.n_cols() — вернуть число столбцов в таблице

table.delete_row(row) — удалить строку с номером row

table.delete_col(col) — удалить колонку с номером col

table.add_row(row) — добавить в таблицу новую строку с индексом row.
Номера строк >= row, должны увеличиться на единицу. Новая строка состоит из нулей.

table.add_col(col) — добавить в таблицу новую колонку с индексом col.
Номера колонок >= col, должны увеличиться на единицу. Новая колонка состоит из нулей.

Каждый тест представляет собой код, в котором будут использоваться ваш класс.
Файл c решением не обязательно называть solution.py, он будет переименован автоматически.
Тест запускается с вашим классом, а его вывод сравнивается с правильным решением.​

👇
Открыть все ответы
Ответ:
lox54
lox54
20.10.2020

ответ:   10 000 100 111 110₂,   20476₈,   213E₁₆.

Для того, чтобы получить число в системе счисления n, нужно делить данное число на n, записывая остатки, пока у нас не останется число меньше n (последнее частное тоже нужно записать). Покажем на примере.

8510/2 = 4255      ост. 0

4255/2 = 2127              1

2127/2 = 1063               1

1063/2 = 531                 1

531/2 = 265                  1

265/2 = 132                  1

132/2 = 66                    0

66/2 = 33                     0

33/2 = 16                      1

16/2 = 8                        0

8/2 = 4                         0

4/2 = 2                         0

2/2 = 1                          0                1

Итак, в двоичной системе мы получили (пишем в обратном порядке):   10 000 100 111 110.

В восьмиричной мы получим (попробуйте сами посчитать):  20 476.

А вот, что будет с шестнадцатиричной (вместо 10,11,...,15     там  A, B, C, D, E, F ):

8510/16 = 531    ост.  14  т. е.   E

531/16 = 33                3              3

33/16 = 2                    1              1                      2

Таким образом у нас получится 213E.

Проверить все ты можешь по этому калькулятору:

https://programforyou.ru/calculators/number-systems

4,7(25 оценок)
Ответ:
mariaK918
mariaK918
20.10.2020
Попытка поиска выигрышной стратегии может быть сделана при метода, получившего название "бэкрекинг" (backtracking - обратное прослеживание).
Рассматриваем финальную позицию для второго студента. У него должно оставаться от 1 до 4 карточек, чтобы он мог их все забрать и не оставить карточек первому студенту. Следовательно, у первого студента должно быть ровно 5 карточек. Забрав от 1 до 4 карточек, он оставит второму студенту как раз требуемое количество карточек.
Чтобы у первого студента осталось 5 карточек, второй студент должен иметь от 6 до 9 карточек, т.е. первый студент для этого должен делать выбор из 10 карточек.
И так далее. Выигрышная стратегия второго студента состоит в том, чтобы предоставлять первому студенту количество карточек, кратное 5.
Но исходное количество карточек равно 20; это число кратно 5, следовательно  второй студент всегда выигрывает, применяя описанную стратегию (она же - алгоритм).
4,6(80 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ