Переводим X и Y в двоичную систему - это все же два числа, а не четыре, как если бы из двоичной переводить Z. Цифры шестнадцатиричного X расписываем по двоичным тетрадам, а восьмеричного Y - по триадам. X = B7₁₆ = 1011 0111₂ = 10110111 Y = 271₈ = 010 111 001₂ = 10111001 Требуется найти Z, которое находится между X и Y. Запишем в столбик, выравняв по младшему разряду, сначала X, потом варианты Z и в конце Y. То, что не будет попадать в интервал между числами в первой и последней строках, потом вычеркнем. 10110111 10111001 - равно нижнему, вычеркнем 10011000 - меньше верхнего, вычеркнем 10111000 - подходит - это ответ 10110111 - равно верхнему, вычеркнем 10111001
Программа: a = input("Введите текущую координату фигуры(вертикаль): ") b = input("Введите текущую координату фигуры(горизонталь): ") c = input("Введите координату для хода(вертикаль): ") d = input("Введите координату для хода(горизонталь): ") # Условие if (a==c) and (b==c): #Конец условия print("Фигура может сделать ход") else: print("Фигура НЕ может сделать ход") Условия: а) if (a==c) and (b==c): #ладья б) if abs(a-c) == abs(b-d): #слон в) if abs(a-c)==1 or abs(b-d)==1: #король г) if abs(a-c) == abs(b-d) or a == c or b == d: #ферзь ж) if((abs(abs(a-c)-2)<0.5) and (abs(abs(b-d)-1)<0.5) or (abs(abs(a-c)-1)<0.5) and (abs(abs(b-d)-2.0)<0.5)): #конь
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку