В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
кря201
кря201
04.09.2021 07:13 •  Информатика

13. Приведите пример задачи и некорректного алгоритма её решения:

Показать ответ
Ответ:
оспшро
оспшро
13.04.2022 11:37

1) К семерке прибавит переменную х (7 + x)

2) Далее результат поделит на 2 (2 / (7 + x))

3) После результат сложится с х в степени 2 (результат первых скобок: 2 / (7 + x) + sqr(x))

4) Далее во вторых скобках переменная у возведется во вторую степень и от результата вычтет 144 (sqr(y) - 144), далее из полученного результата вычислят модуль (abs(sqr(y) - 144))

5) К полученному результату прибавят квадратный корень из переменной х (результат вторых скобок: abs(sqr(y) - 144) + sqrt(x))

6) В конце концов результат в первых скобках поделится на результат вторых скобок (2/(7+x)+sqr(x))/(abs(sqr(y)-144)+sqrt(x))

0,0(0 оценок)
Ответ:
ololsha99
ololsha99
02.11.2021 20:56

В программе на Питоне реализован алгоритм Евклида для нахождения НОД и найдено НОК из формулы из условия. Большая часть тестов для проверки использует случайные числа, для которых, например, проверяется, что НОК и НОД от (x, y) не изменяются, если их искать от (y, x), и т.д. (assert expr выбрасывает исключение, если expr ложно, так что если test сработало без ошибок, значит, всё ок)

def gcd_lcm(a, b):

   x, y = a, b

   while x != 0 and y != 0:

       x, y = y % x, x

   gcd = x + y

   lcm = a // gcd * b

   return gcd, lcm

def test():

   from random import randint

   x, y, z = [randint(1, 1000) for _ in range(3)]

   xx = gcd_lcm(x, x)

   xy = gcd_lcm(x, y)

   yx = gcd_lcm(y, x)

   yz = gcd_lcm(y, z)

   x1 = gcd_lcm(x, 1)

   zx_y = gcd_lcm(z * x, y)

   zx_zy = gcd_lcm(z * x, z * y)

   gcd_xy_z = gcd_lcm(xy[0], z)[0]

   gcd_x_yz = gcd_lcm(x, yz[0])[0]

   assert xx == (x, x)

   assert xy == yx

   assert xy[1] % xy[0] == 0

   assert xy[1] % x == 0

   assert xy[1] % y == 0

   assert x % xy[0] == 0

   assert y % xy[0] == 0

   assert x1[0] == 1

   assert x1[1] == x

   assert zx_y[0] % xy[0] == 0

   assert zx_y[1] % xy[1] == 0

   assert zx_zy[0] == z * xy[0]

   assert zx_zy[1] == z * xy[1]

   assert gcd_xy_z == gcd_x_yz

   assert gcd_lcm(2**7 * 3**15, 3**4 * 5**3) == (3**4, 2**7 * 3**15 * 5**3)

   assert gcd_lcm(7 * 917887, 7 * 850177) == (7, 7 * 850177 * 917887)

if __name__ == "__main__":

   for _ in range(100):

       test()

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота