По заданным координатам точек А и В вычислите длину отрез- ка AB. Подсказка: Расстояние d между точками А (x, y) и В (x, y, выражается формулой d = f(x, -х.) + (у, -у). Пример входных данных ха=2 уа=1 хb=10 yb=7 Пример выходных данных xas2 І АВ І=10.0
Для решения примера вспоминаем, что при переходе от шестнадцатиричной системы счисления к двоичной достаточно заменить каждую шестнадцатиричную цифру четырьмя двоичными (тетрадой). Предлагаемое в условии число представляет собой десятичную дробь, т.е. имеет целую и дробную части. Для целой части незначащими будут левые нули и мы будем искать их в первой тетраде. Для дробной части незначащие нули - последние и мы будем их искать в последней тетраде. Первая тетрада - представление 1(16)=0001(2). Левые три нуля незначащие и их удаляем, остается 1. Последняя тетрада - представление Е(16)=1110(2). Тут один незначащий ноль - правый, остается 111.. Остальные тетрады переписываем без изменения. 12АС,6Е(16)=1 0010 1010 1100 , 0110 111 (2) Считаем количество нулей в записи: 9. Это и есть ответ. Комментарии Отметить нарушение
def solve(x, op, y):
if str(op) == '+':
try:
print(float(x) + float(y))
except ValueError:
print('одно из значений не число')
elif str(op) == '-':
try:
print(float(x) - float(y))
except ValueError:
print('одно из значений не число')
elif str(op) == '*':
try:
print(float(x) * float(y))
except ValueError:
print('одно из значений не число')
elif str(op) == '/':
try:
print(float(x) / float(y))
except ZeroDivisionError:
print('на ноль делить нельзя')
except ValueError:
print('одно из значений не число')
return 0
elif str(op) == '//':
try:
print(float(x) // float(y))
except ZeroDivisionError:
print('на ноль делить нельзя')
except ValueError:
print('одно из значений не число')
return 0
elif str(op) == '^':
try:
print(float(x) ** float(y))
except ValueError:
print('одно из значений не число')
else:
print('error')
return 0
while True:
num1, op, num2 = input().split()
solve(num1, op, num2)
Объяснение:
Данные вводятся через пробел, ex:
Ввод: 2 + 2
Вывод: 4
Предлагаемое в условии число представляет собой десятичную дробь, т.е. имеет целую и дробную части. Для целой части незначащими будут левые нули и мы будем искать их в первой тетраде. Для дробной части незначащие нули - последние и мы будем их искать в последней тетраде.
Первая тетрада - представление 1(16)=0001(2). Левые три нуля незначащие и их удаляем, остается 1. Последняя тетрада - представление Е(16)=1110(2). Тут один незначащий ноль - правый, остается 111.. Остальные тетрады переписываем без изменения.
12АС,6Е(16)=1 0010 1010 1100 , 0110 111 (2)
Считаем количество нулей в записи: 9. Это и есть ответ.
Комментарии Отметить нарушение