ivbobkova1
09.06.2023 06:12

У ис­пол­ни­те­ля Квад­ра­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра: 1. вычти 1

2. воз­ве­ди в квад­рат

Пер­вая из них умень­ша­ет число на экра­не на 1, вто­рая воз­во­дит его во вто­рую сте­пень. Ис­пол­ни­тель ра­бо­та­ет толь­ко с на­ту­раль­ны­ми чис­ла­ми. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 2 числа 64, со­дер­жа­щий не более 5 ко­манд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра ко­манд. (На­при­мер, 11121 — это ал­го­ритм: вычти 1, вычти 1, вычти 1, воз­ве­ди в квад­рат, вычти 1, ко­то­рый пре­об­ра­зу­ет число 7 в 15.) Если таких ал­го­рит­мов более од­но­го, то за­пи­ши­те любой из них.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Yana6hhhh
14.04.2022 11:00
# coding: utf-8
# Python 3.X

'''
Вводятся четыре числа:
xa, ya: координаты ферзя
xb, yb: координаты другой фигуры

Координаты - целые числа
в интервале от 1 до 8.

Вывод - булево значение:
сможет ли ферзь побить фигуру
за 1 ход.
'''
def hits(xa, ya, xb, yb) -> bool:
    '''
    Проверка аргументов.
    '''
    args = (xa, ya, xb, yb)
    if any([not 1 <= z <= 8 for z in args]):
        raise ValueError("Неверные координаты!")

    '''
    На одной прямой.
    '''
    if xa == xb or ya == yb:
        return True

    '''
    Северо-западная диагональ.
    '''
    x_nw, y_nw = xa, ya
    while x_nw > 1 and y_nw > 1:
        x_nw -= 1
        y_nw -= 1
        if x_nw == xb and y_nw == yb:
            return True

    '''
    Юго-восточная диагональ.
    '''
    x_se, y_se = xa, ya
    while x_se < 8 and y_se < 8:
        x_se += 1
        y_se += 1
        if x_se == xb and y_se == yb:
            return True

    '''
    Юго-западная диагональ.
    '''
    x_sw, y_sw = xa, ya
    while x_sw > 1 and y_se < 8:
        x_sw -= 1
        y_sw += 1
        if x_sw == xb and y_sw == yb:
            return True

    '''
    Северо-восточная диагональ.
    '''
    x_ne, y_ne = xa, ya
    while x_ne < 8 and y_se > 1:
        x_ne += 1
        y_ne -= 1
        if x_ne == xb and y_ne == yb:
            return True

    return False # если не бьет

inp = [int(x) for x in input().split()]
if hits(*inp):
    print('YES')
else:
    print('NO')
0,0(0 оценок)
Ответ:
muharadjab
14.04.2022 11:00
# coding: utf-8
# Python 3.X

'''
Вводятся четыре числа:
xa, ya: координаты ферзя
xb, yb: координаты другой фигуры

Координаты - целые числа
в интервале от 1 до 8.

Вывод - булево значение:
сможет ли ферзь побить фигуру
за 1 ход.
'''
def hits(xa, ya, xb, yb) -> bool:
    '''
    Проверка аргументов.
    '''
    args = (xa, ya, xb, yb)
    if any([not 1 <= z <= 8 for z in args]):
        raise ValueError("Неверные координаты!")

    '''
    На одной прямой.
    '''
    if xa == xb or ya == yb:
        return True

    '''
    Северо-западная диагональ.
    '''
    x_nw, y_nw = xa, ya
    while x_nw > 1 and y_nw > 1:
        x_nw -= 1
        y_nw -= 1
        if x_nw == xb and y_nw == yb:
            return True

    '''
    Юго-восточная диагональ.
    '''
    x_se, y_se = xa, ya
    while x_se < 8 and y_se < 8:
        x_se += 1
        y_se += 1
        if x_se == xb and y_se == yb:
            return True

    '''
    Юго-западная диагональ.
    '''
    x_sw, y_sw = xa, ya
    while x_sw > 1 and y_se < 8:
        x_sw -= 1
        y_sw += 1
        if x_sw == xb and y_sw == yb:
            return True

    '''
    Северо-восточная диагональ.
    '''
    x_ne, y_ne = xa, ya
    while x_ne < 8 and y_se > 1:
        x_ne += 1
        y_ne -= 1
        if x_ne == xb and y_ne == yb:
            return True

    return False # если не бьет

inp = [int(x) for x in input().split()]
if hits(*inp):
    print('YES')
else:
    print('NO')
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота