А вот и правильные ответы:
А вот и правильные ответы: 1) % — остаток от деления. Если остаток от деления числа k на число n равен нулю, то k делится на n. 2) Чтобы отбросить первые два символа — служебный префикс '0o', оставив только сами цифры. Срез [2:] отбрасывает первые два символа строки. Так как oct() добавляет перед цифрами служебный префикс '0o' (два символа), срез [2:] убирает именно его, оставляя чистую восьмеричную запись числа. 3) Множество (set) в Python автоматически хранит только уникальные значения — при добавлении повторяющегося элемента оно просто игнорируется. Это удобно, когда разные N могут давать одинаковое R, а нужно посчитать количество именно различных значений R. 4) Символ «N» (от англ. none/нет сдвига) означает, что после записи символа в текущую ячейку головка остаётся на месте и не перемещается ни влево, ни вправо — в отличие от «L» (сдвиг влево), «R» (сдвиг вправо) и «S» (остановка исполнителя). 5) Символ «S» в программе МТ означает команду остановки исполнителя. Цикл while c != "S" выполняет шаги машины (чтение символа, запись нового, сдвиг головки, смена состояния) до тех пор, пока очередная выполненная команда не окажется командой остановки.