Помогите пожалуйста, информатика Python.. Старшеклассник Миша
14.03.2022
Дата публикации:

Помогите пожалуйста, информатика Python.. Старшеклассник Миша

9380d1a7

Помогите пожалуйста, информатика Python.. Старшеклассник Миша собирает робота, который должен ездить по лабиринту. Всего робот умеет выполнять 12 различных команд, но для нас представляют интерес четыре из них – «на клетку вперёд», «на клетку назад», «на клетку влево», «на клетку вправо». Миша решил передавать роботу инструкции в виде цифр числа: робот получает число, переводит его в двенадцатеричную систему и выполняет соответствующие цифрам команды. Коды команд, отвечающих за перемещение, кратны трём. На вход подаётся N чисел с наборами команд. Сколько раз робот изменит положение, если считать, что он не встречает препятствий? Формат ввода На вход программе в первой строке подается натуральное число N (N ≤ 10000) – количество наборов команд. Далее в N строках на вход подаётся по одному целому числу в диапазоне от 0 до 4*109 – набор двенадцатеричных команд, записанных в десятичной системе счисления. Формат вывода Вывести одно целое число – сколько раз робот изменит положение.

Для решения данной задачи можно использовать следующий алгоритм:

  1. Считываем количество наборов команд N.
  2. Создаем переменную count и инициализируем ее нулем. Она будет считать количество изменений положения робота.
  3. В цикле от 1 до N считываем каждый набор команд.
  4. Переводим каждое число из десятичной системы счисления в двенадцатеричную систему с помощью функции hex().
  5. Проверяем, является ли число кратным трём. Если да, увеличиваем count на единицу.
  6. Выводим значение переменной count.

Пример решения на языке Python:

N = int(input())
count = 0

for _ in range(N):
    command = int(input())
    hex_command = hex(command)[2:]  # переводим число в двенадцатеричную систему счисления
    if int(hex_command, 12) % 3 == 0:  # проверяем, является ли число кратным трём
        count += 1

print(count)

Пример работы программы:

Входные данные:
3
10
15
20

Выходные данные:
2

В данном примере робот изменит положение два раза, так как только числа 15 и 20 являются кратными трём.