Перейти к содержимому

Для чего нужен нод

  • автор:

Зачем нужны НОД и НОК при вычислении дробей?

НОК бывает только у натуральных чисел. В данном случае это знаменатели дробей. Такой НОК называется НОЗ (наименьший общий знаменатель). Обычно для нахождения НОК раскладывают числа на простые множители и делают ещё несколько шагов. Но можно просто перемножить числа и поделить это произведение на НОД (наибольший общий делитель), если он существует. Если НОД у двух чисел нет (такие числа называются взаимно простыми), то НОК равен их произведению. Примеры. 5 и 7 -взаимно простые: нет числа, НА КОТОРОЕ нацело делятся и 5 и 7(1 не в счёт). Значит, НОК (5,7)=5*7=35.Если же у тебя числа 8 и 12,то их НОД можно найти разложив их на простые множители (простыми называются числа, которые делятся нацело только сами на себя и на 1).8=2*2*2,12=2*2*3.В этих 2 произведениях найди все общие множители-это 2 и 2-значит, НОД=2*2=4.А теперь перемножь заданные числа и подели их на 4: (12*8)\4=24-это и есть НОК. У чисел 8 и 9 нет общих
делителей (8=2*2*2,9=3*3),они взаимно простые и их НОК=8*9.

Похожие вопросы

«Применение НОК и НОД в практической жизни людей».

Беляева Лидия Кузьминична

В исследовании рассказываются исторические сведения о возникновении НОК и НОД, закрепляются основные навыки и умения путем математических действий с этими понятиями. В работе представлена познавательная информация об этих терминах, а также способы их применения в повседневной жизни.

Скачать:

Вложение Размер
Файлnok_i_nod.pptx 2.43 МБ
Предварительный просмотр:

Чтобы пользоваться предварительным просмотром презентаций создайте себе аккаунт (учетную запись) Google и войдите в него: https://accounts.google.com

Подписи к слайдам:

Научно-исследовательская работа на тему: «Применение НОК и НОД в практической жизни людей» Автор : Кулинич Дарья 6 «А», школа №9 г.Саранск Руководитель: Беляева Лидия Кузьминична

Актуальность : многие школьники считают изучение НОК и НОД бесполезным занятием, или заучивают правила лишь для получения оценки, но в дальнейшем сталкиваясь с ситуациями аналогичными ситуациям задач учебника, не могут грамотно действовать, приходят в тупик. Цель работы: приобщение школьников к изучению математических терминов НОК и НОД и математики в целом, приобретение математических знаний для будущей учебной и практической деятельности. Гипотеза: я считаю, изучение исследуемых мною понятий поможет мне и моим сверстникам в дальнейшей жизни . Методика работы : Метод теоретического исследования Исследование. Опрос. Счёт. Наблюдение. Фотографирование. Обобщение и систематизация полученных данных.

Немного из теории. НОК (Наименьшее Общее Кратное) чисел a и b – самое маленькое число, которое делится на числа а и b без остатка. НОД (Наибольший Общий Делитель) a и b – самое большое число, на которое числа а и b делятся без остатка. На уроках математики эти термины также можно применить при сокращении дробей, при их сложении и вычитании.

Самые распространенные среди школьников алгоритмы нахождения НОК и НОД: НОК ( a и b ) НОД ( a и b ) Метод перебора. Метод перебора 1.Выписать все делители числа а. 2. Выписать все делители числа b. 3. Выбрать среди них общие делители. 4. Среди общих делителей выбрать самое большое число. Метод нахождения НОД с помощью разложения на простые множители. 1. Найти разложение чисел a и b на простые множители. 2. Подчеркнуть общие числа. 3. Найти произведение подчеркнутых чисел у одного числа. Метод нахождения НОК с помощью разложения на простые множители. 1.Выписать первые кратные a и b 2 .Затем выбрать среди этих кратных самое маленькое число, которое будет общим для a и b . 1.Найти разложение чисел a и b на простые множители. 2. Выписать множители, входящие в разложение a . 3. Добавить к ним недостающие множители из разложения b . 4.Найти произведение получившихся множителей. Эти способы также применяются также при нахождении НОК и НОД 3-х и более чисел. Причем самый эффективный и удобный из представленных ( т. к. ещё существует древний алгоритм Евклида на нахождение НОД, о котором речь пойдет позже) второй — при помощи разложения на простые множители.

Историческая справка. Алгоритм Евклида и его применение. Алгоритм нахождения НОД, используемый в компьютерных программах и сейчас, был описан 2300 лет назад Евклидом – древнегреческим математиком, в книгах «Начал». По алгоритму Евклида, чтобы найти НОД a и b нужно большее число поделить на меньшее. Если делится без остатка, то меньшее число и есть НОД. А если есть остаток, большее число надо заменить на остаток от деления и перейти к первому действию. Удивительно, но НОК также можно найти без разложения на простые множители. Евклид – великий ученый.

Запуск проекта: «Что ты знаешь о НОК и НОД?» Для того чтобы выяснить насколько хорошо мои одноклассники знают изучаемую мной тему, а заодно и заинтересовать их в изучении математики, я под руководством учителя провела математическую викторину. Она состояла из двух частей: первая часть проверяла теоретические знания, а вторая помогала школьникам применить знания на практике, посредством математической игры. Ребята разделились на три команды и сообща решали задания. В конце урока прошло награждение отличившейся команды.

Опрос. В математической викторине, как говорилось ранее, был помещён опрос на теоретические знания об изучаемой мною теме (в опросе участвовало 30 человек). Вот что он показал: 50 % (15 ч.) 20 % (6 ч.) 30 % (9 ч.) Как видно из предыдущей диаграммы, знания школьников о терминах НОК и НОД довольно объёмны, но некоторые школьники вовсе не понимают данную тему. Чтобы исправить это, я показала одноклассникам свою работу и заново провела опрос (в опросе участвовало 30 человек). Его результаты: 60 % (18 ч.) 10 % (3 ч.) 30% ( 9 ч.)

Важность НОК и НОД в понимании взрослых и школьников. Чтобы выяснить, чем является НОК и НОД для учащихся и взрослых, я провела анкетирование и выяснила: НОК и НОД для: Школьников (20 ч.) Взрослых (20 ч.) 5 % (1 ч.) 65 % (13 ч.) 30% (6 ч.) 10 % (2 ч.) 60% (12 ч.) 30% (6 ч.)

С помощью различных ресурсов я нашла интересные задачи, для решения которых требуются навыки нахождения НОК и НОД. В этих задачах — ситуации из жизни, с которыми может встретиться каждый. Решить ниже представленные задачи пробовали взрослые и дети-ученики начальной школы, у них это вызвало затруднения. 2. Условие: длина комнаты 575 см, а ширина 375 см. Пол в комнате нужно выложить декоративными плитками в форме квадрата. Каков наибольший возможный размер такого квадрата? Сколько плиток такого размера, понадобится? Эта ситуация часто возникает у профессиональных строителей, или у тех кто просто затеял ремонт. Чтобы решить задачу нужно найти НОД чисел обозначающих длину и ширину комнаты, а затем отдельно друг от друга поделить на это число длину и ширину, затем эти результаты перемножить. 3. Условие : спортсмен знает, что через каждые 400 м от старта стоит наблюдатель, а через каждые 700 м от старта можно попить воды. На каком минимальном расстоянии от старта можно попить воды и задать вопрос наблюдателю. Такая ситуация возможна на соревнованиях по бегу и очень важна для спортсменов. Чтобы решить задачу нужно найти НОК всех расстояний указанных в условии задачи 1. Условие: рассортировать конфеты «Алёнка» (36 шт.) и «Сказка» (48 шт.) в группы, используя при этом все конфеты. В ответе написать, сколько групп получилось. Возможно, такая ситуация встречалась кондитерам, продавцам или детям при делёжке сладостей. Решение заключалось в нахождении наибольшего общего делителя чисел обозначавших количество конфет первого и второго вида

Выводы. В своей работе я выяснила, что НОК и НОД важные термины, помогающие людям в самых разнообразных сферах деятельности. Я попробовала самостоятельно организовывать и проводить различные викторины, игры связанные с математикой. Из работы школьники узнали много нового, и приобщили свой интерес к математике. Я считаю, что достигла всех целей поставленных в начале. В дальнейшем я планирую продолжить углубленное изучение математики.

Node.js

Node.js (Node) — это платформа с открытым исходным кодом для работы с языком JavaScript, построенная на движке Chrome V8. Она позволяет писать серверный код для веб-приложений и динамических веб-страниц, а также программ командной строки. В основе платформы — событийно-управляемая модель с неблокирующими операциями ввода-вывода, что делает ее эффективной и легкой.

Освойте профессию «Frontend-разработчик»

Платформу разработал Райан Дал, программист из Америки, в 2009 году. До появления Node.js приложения, которые написаны на языке программирования JavaScript, можно было запускать только в браузере. С появлением платформы стало возможно писать на JavaScript не только в браузере, но и на сервере.

Что такое Node.js и как она работает

Node.js работает на движке V8, транслирующем JavaScript в машинный код. Простыми словами, Node.js — это приложение на C++, которое получает на входе код JavaScript и выполняет его. Чтобы взаимодействовать с устройствами ввода-вывода на компьютере, в платформе предусмотрен собственный интерфейс на C++. Таким образом, платформа превращает специализированный скриптовый язык JavaScript в язык общего назначения, поэтому на Node.js можно писать любые компьютерные программы. Платформа позволяет пользоваться единым языком JavaScript для написания кода и на стороне клиента (Frontend), и на сервере (Backend). Эти возможности Node.js важны для разработки приложений реального времени, которые основаны на событиях.

Профессия / 9 месяцев
Frontend-разработчик

Создавайте интерфейсы сервисов, которыми пользуются все

Group 1321314347 (1)

Для чего нужна Node.js

Платформу используют fronted-разработчики, backend-разработчики и другие. Она позволяет написать программу для разных ОС: Linux, OS X и Windows, может использоваться для создания API. Также Node.js применяется для разработки кросс-платформенных приложений: например, списка задач, который должен работать на разных платформах, синхронизировать данные в реальном времени и отправлять на мобильное устройство. Node.js используется при создании сервисов с постоянным обменом информацией с пользователем: социальных сетей, онлайн-игр, чатов, систем совместной работы над проектом, онлайн-редакторов текста и пр.

Node.js лежит в основе Internet of Things, или просто IoT. Платформа помогает управлять приборами и создавать серверы, способные одновременно обрабатывать большое количество запросов.

Многие крупные компании используют Node.js. Например, eBay и веб-версия PayPal в процессе перехода, а LinkedIn, полностью отказавшиеся от Ruby on Rails в пользу Node.js еще в 2012 году, заявили о 20-кратном ускорении 27 серверов. Среди других известных компаний — Yahoo, Netflix, Uber, Walmart, Google и многие другие.

Станьте Frontend-разработчиком
и создавайте интерфейсы сервисов, которыми пользуются все

Как выглядит код

Пример создания и запуска HTTP-сервера на Node.js, выдающего «Hello, World!»:

const http = require('http'); const requestListener = function (req, res) < res.writeHead(200); res.end('Hello, World!'); >const server = http.createServer(requestListener); server.listen(8080);

Причины популярности

Высокая скорость. JavaScript-код, который выполняется в среде Node.js, может быть в несколько раз быстрее, чем написанный на языках вроде Ruby или Python. В Node.js используется модель асинхронного программирования. Модель позволяет продолжить обработку других задач, не дожидаясь завершения передачи данных. Когда требуется выполнить операцию ввода-вывода вроде доступа к файловой системе или базе данных, Node.js не блокирует главный поток ожиданием результатов. Платформа инициирует ее выполнение и продолжает выполнять другие задачи, пока результаты предыдущей операции не будут получены.

Универсальность и гибкость. В Node.js выполняется код, который написан на JavaScript. Это означает, что frontend-разработчики, которые уже используют JavaScript в браузере, могут писать и клиентский, и серверный код на привычном языке программирования, не изучая инструмент с нуля. В Node.js можно быстро переходить на новые стандарты ECMAScript по мере их реализации. Новые возможности языка становятся доступны сразу после установки поддерживающей их версии Node.js.

Читайте также С чего начать учить JavaScript? 5 шагов для старта

Большое количество модулей и библиотек. Экосистема Node.js стремительно развивается благодаря менеджеру пакетов NPM. Он содержит более 500 000 модулей и библиотек open-source, которые находятся в свободном доступе. Также постоянно появляются новые.

Работа на движке Chrome V8. Node.js работает на JavaScript-движке V8 от Google. V8 — движок JavaScript с открытым исходным кодом, распространяемый по лицензии BSD. Он применяется в браузерах на основе Chromium. Это означает, что в Node.js использованы наработки тысяч инженеров. Движок написан на C++, имеет открытый исходный код и продвинутые библиотеки.

релизы Chrome V8

Как установить Node.js

Установка Node не должна вызвать проблем даже у новичков, ниже приведен алгоритм действий на Windows и OS X.

Установка Node.js на Windows и Linux

Первый шаг — установка консоли. На Windows уже предустановлен терминал cmd.exe, но как основное «место работы» он не подходит. В качестве аналога используется эмулятор консоли, например cmder. После этого шага с официального сайта Node.js необходимо скачать последнюю версию платформы.

Страница скачивания Node.js

После запуска инсталлятора Node.js устанавливается в интерактивном режиме. В конце установки необходимо проверить версию с помощью двух команд: node -v и npm -v.

В операционных системах на основе Linux Node.js устанавливается с помощью пакетного менеджера.

Установка Node.js на OS X

Алгоритм мало отличается от установки на Windows; разница лишь в том, что предварительные шаги не нужны. С официального сайта нужно скачать последнюю доступную версию, установить ее и можно сразу пользоваться.

страница скачивания nodejs

Frontend-разработчик

Научитесь создавать удобные и эффектные сайты, сервисы и приложения, которые нужны всем. Сегодня профессия на пике актуальности: в России 9000+ вакансий, где требуется знание JavaScript.

картинка (70)

Статьи по теме:

  • Асинхронное программирование
  • Angular
  • Heroku

Наибольший общий делитель и наименьшее общее кратное

eolymp

Каждый из нас в школе изучал, что такое наибольший общий делитель (далее НОД) двух чисел a и b. Конечно же, это наибольшее целое число d, на которое a и b делятся без остатка. Без труда каждый ученик может сказать, например, что НОД(12, 18) = 6. Но что если одно из чисел равно 0? А если a или b отрицательно? Над этим вопросом на школьных уроках, наверное, не каждый из нас задумывался. Для того чтобы ответить на поставленные вопросы, приведем определение – что же такое наибольший общий делитель.

Определение 1.Наибольшим общим делителем (далее НОД) двух целых чисел a и b, одновременно не равных нулю, называется такое наибольшее целое число d, на которое a и b делятся без остатка. Этот факт обозначается так: d = НОД(a, b). Если оба числа равны нулю, то положим НОД(0, 0) = 0.

Исходя из определения, имеют место следующие равенства:

Почему, скажете вы, НОД(-12, 18) равен 6, а не -6? Ведь и -12, и 18 делятся нацело на 6 и на -6. Ответ прост: ведь НОД – это же наибольший общий делитель, а число 6 больше -6.

С понятием наибольшего общего делителя тесно связано понятие наименьшего общего кратного.

Определение 2.Наименьшим общим кратным (далее НОК) двух целых чисел a и b называется наименьшее положительное целое число, кратное как a, так и b.

Основная теорема арифметики утверждает, что любое натуральное число n можно представить в виде произведения простых чисел:

Такое разложение натурального числа называется каноническим. Из него следует, что если

medv_gcd_03

medv_gcd_04

Пример 1. Рассмотрим числа a = 24 и b = 18. Разложим их на простые множители: 24 = 2 3 ·3, 18 = 2·3 2 . Следовательно

НОД(24, 18) = 2 min(3,1) · 3 min(1,2) = 2 1 · 3 1 = 6,

НОК(24, 18) = 2 max(3,1) · 3 max(1,2) = 2 3 · 3 2 = 8 · 9 = 72

Именно такой метод, с использованием канонического разложения чисел, мы изучали в школе для нахождения НОД и НОК. Однако этот метод не эффективен для реализации алгоритмов их вычисления.

Рассмотрим следующий очевидный факт. Если НОД(a, b) = d, то a и b делятся на d. Следовательно, их разница a – b также делится на d. Имеет место следующее рекуррентное соотношение для вычисления НОД:

medv_gcd_05

Пример 2. Пусть a = 32, b = 12. Тогда

НОД(32, 12) = НОД(32 – 12, 12) = НОД(20, 12) = НОД(20 – 12, 12) = НОД(8, 12) =

= НОД(8, 12 – 8) = НОД(8, 4) = НОД(8 – 4, 4) = НОД(4, 4) = НОД(4 – 4, 4) = НОД(0, 4) = 4

Приведенный метод вычисления не является оптимальным. Например, для нахождения НОД(1000000, 2) следует выполнить 500000 операций вычитания. Для ускорения вычисления НОД операцию вычитания заменим операцией взятия остатка от деления:

medv_gcd_06

Пример 3. Пусть a = 78, b = 14. Тогда

НОД(78, 14) = НОД(78 mod 14, 14) = НОД(8, 14) = НОД(8, 14 mod 8) = НОД(8, 6) =

= НОД(8 mod 6, 6) = НОД(2, 6) = НОД(2, 6 mod 2) = НОД(2, 0) = 2

Упростим приведенную выше рекуррентность, сократив количество условий до двух:

medv_gcd_07

Если a < b, то НОД(a, b) = НОД(b, a mod b) = НОД(b, a), то есть аргументы функции переставляются. При последующих вызовах функции НОД первый аргумент всегда больше второго. Нулем может стать только второй аргумент b.

Пример 4. Пусть a = 14, b = 78. Тогда

НОД(14, 78) = НОД(78, 14) = НОД(14, 8) = НОД(8, 6) = НОД(6, 2) = НОД(2, 0) = 2

Реализуем на языке программирования Си функцию gcd (Greatest Common Divisor) вычисления НОД, используя последнюю рекуррентность. Знак % в Си обозначает операцию взятия остатка от деления.

int gcd( int a, int b)

if (b == 0) return a;

return gcd(b, a % b);

Напомним, что условный оператор в Си имеет следующий синтаксис:

Тернарный условный оператор имеет синтаксис:

и семантически немного отличается от оператора if..then..else. Если истинно, то оператор возвращает значение, которое возвращает , иначе возвращается значение выражения .

Используя тернарный оператор, функцию gcd можно записать следующим образом:

int gcd( int a, int b)

return (!b) ? a : gcd(b, a % b);

Теорема. Между НОД и НОК двух чисел имеет место соотношение:

Функция lcm (Lowest Common Multiple) вычисления НОК имеет вид:

int lcm( int a, int b)

return a / gcd(a, b) * b;

Заметим, что при вычислении выражения a * b / gcd(a, b) может возникнуть переполнение, а при a / gcd(a, b) * b нет. Здесь подразумевается, что значения a, b и lcm(a, b) лежат в границах типа int.

СПИСОК ЛИТЕРАТУРЫ

1. «Алгоритмы построение и анализ», Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К., – Москва, Санкт-Петербург, Киев, 2005 – 1292 с.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *