Составить блок-схему и программу, используя цикл «До»: Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.
''' Вводятся четыре числа: 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')
Для того чтобы перевести из двоичной системы счисления в десятичную необходимо сложить произведение цифры разряда со степенью двойки (показатель системы из которой переводим). Определяем степень (последнее число имеет нулевую степень, каждое следующее +1): 43210 11110 Получаем: 11110=1*2^4+1*2^3+1*2^2+1*2^1+0*2^0=16+8+4+2+0=30 11110 (2)=30 (10)
Для того чтобы перевести из восьмеричной системы счисления в десятичную необходимо сложить произведение цифры разряда со степенью восьмерки (показатель системы из которой переводим). Определяем степень (последнее число имеет нулевую степень, каждое следующее +1): 210 372 Получаем: 372 (8) = 3*8^2+7*8^1+2*8^0=192+56+2=250
Для того чтобы перевести из шестнадцатеричной системы счисления в десятичную необходимо сложить произведение цифры разряда со степенью шестнадцати (показатель системы из которой переводим). Определяем степень (последнее число имеет нулевую степень, каждое следующее +1): 210 32А Учитывая соответствие букв в шестнадцатеричной системе числам в десятичной: А - 10 B - 11 C - 12 D - 13 E - 14 F - 15 получаем: 32А (16) = 3*16^2+2*16^1+10*16^0=768+32+10=810.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку