• Авторы этой задачи вдохновились произведением Элсуорта Келли “Красный Жёлтый Синий Белый и Чёрный” (https://bit.ly/2KfYsCw) и решили создать собственную геометрическую абстракцию.


    Их шедевр представляет собой ряд из цветных панелей, как у Келли, однако авторы задачи ре-шили сделать куда более монументальное произведение. Над произведением трудилось k авторов.Они используют панели 10 цветов, пронумерованных числами от 0 до 9. Первый автор составил произведение из одной панели цвета 0. Каждый следующий автор брал за основу произведение предыдущего автора, и удваивал количество панелей в произведении.

    При этом он сначала выкладывал те же панели в обратном порядке, а потом выкладывал ещё раз те же панели в том же порядке, но увеличивая номер цвета на 1 (то есть меняя цвет 0 на цвет 1, цвет 1 на цвет 2, и т.д.).

    При этом цвет номер 9 меняется на цвет номер 0.


    Вот что получилось у первых 4 авторов:

    Автор 1: 0

    Автор 2: 01

    Автор 3: 1012

    Автор 4: 21012123


    Произведение получилось столь огромным, что разместить его даже в музее самого современного искусства не удалось. Поэтому авторы решили пойти на хитрость — они устроили инсталляцию, в которой стоит только одна панель, меняющая цвет по желанию посетителя. Посетитель указывает порядковый номер панели шедевра, которую он хочет увидеть, а инсталляция меняет свой цвет,показывая посетителю панель соответствующего цвета.

    По данном количеству авторов k и номеру панели i определите, какой цвет будет у этой панели.


    Формат входных данных

    Программа получает на вход два целых числа, записанных в разных строках. В первой строке записано число авторов шедевра k(1⩽k⩽31).

    Во второй строке записан номер панели i(1⩽i⩽2^k-1)


    Формат выходных данных

    Программа должна вывести одно число от 0 до 9 — цвет панели номер i в шедевре, созданном k-м автором.


    ввод

    4

    6


    вывод

    1


    пожалуйста ! очень срочно !

    PYTHON

    def num(x, len):
    if (len <= 1):
    return 0
    len //= 2
    if (x >= len):
    return 1 + num(x - len, len)
    return num(len - x - 1, len)

    a = int(input())
    b = int(input())
    print(num(b, 1 << (a - 1)) % 10)


    ВОТ , РЕШЕНИЕ КАК БЫ ЕСТЬ , ТОЛЬКО ВОТ ОНО НЕ РАБОТАЕТ

Ответы 0

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years