М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
IG77
IG77
01.05.2020 17:32 •  Информатика

Составить программу нахождения наименьшего общего кратного(нок) двух чисел m и n, используя формулу n*m=нод(m,n)*нок(n,m). разработать тесты для проверки правильности работы программы.

👇
Ответ:
olga7789
olga7789
01.05.2020

В программе на Питоне реализован алгоритм Евклида для нахождения НОД и найдено НОК из формулы из условия. Большая часть тестов для проверки использует случайные числа, для которых, например, проверяется, что НОК и НОД от (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()

4,6(86 оценок)
Ответ:
pogosanitka2345
pogosanitka2345
01.05.2020

Если на паскале, то вот:

Объяснение:

var

   a, b: integer;

function nod(a, b: integer): integer;

begin

   while a * b <> 0 do

       if a > b then

           a := a mod b

       else

           b := b mod a;

   

   nod := a + b;

end;

begin

   readln(a, b);

   write('NOK = ', a * b / nod(a, b));

end.

4,6(77 оценок)
Открыть все ответы
Ответ:
киска555555544
киска555555544
01.05.2020
1) Это кнопки, иконки, поля ввода. Кнопки нажимаются, в поля вводится текст.
2) В Windows -строка заголовка – верхняя строка окна, в которой находится имя программы или имя окна; 
кнопка сворачивания окна; 
кнопка восстановления окна 
кнопка закрытия окна 
кнопка системного меню 
строка меню 
панель инструментов 
полосы прокрутки 
рабочее поле 
строка состояния 
рамка окна. 
Вроде все.
3) 1. System 32. Рабочий стол.
2. Мой компьютер, Мои документы, Корзина, Сетевые окружения(Сеть) и управляющие объекты Windows.
4) 1. Иконки, панель задач, папки
2. Ярлык это ссылка на файл, который может находиться где угодно на ПК, а значок это сам файл
3. На панели задач располагается запущенные приложения, панель быстрого доступа, часы... .
4. Папка "Мой компьютер"
5) Ярлык дает ссылку на значок,который запускает.
6) Пуск,панель задач,программы в фоновом режиме,задачи или все, что ты туда поместишь.
4,6(25 оценок)
Ответ:
Klmn2870
Klmn2870
01.05.2020
Е:видеозапись.avi          |график.xIs          |ИЗОБРАЖЕНИЯаквариум.bmp                                                            |ФОТОБия.jpeg                                                                                         |Катунь.jpe          |          |          |          |ТЕКСТЫбуква.txt                                        |онегин.doc          |          |          |мелодия.mp3          |презинтация.pptПЛЖАЛУЙСТА ДРУЗЬЯ пкт даю ветьЕ:видеозапись.aviЕ:график.xIsЕ:ИЗОБРАЖЕНИЯаквариум.bmpЕ:ИЗОБРАЖЕНИЯФОТОБия.jpegЕ:ИЗОБРАЖЕНИЯФОТОКатунь.jpegЕ:ТЕКСТЫбуква.txtЕ:ТЕКСТЫонегин.docЕ:мелодия.mp3Е:презинтация.ppt
4,4(72 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ