1-freelance.ru

Журнал "Фрилансер"
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

X Международная студенческая научная конференция Студенческий научный форум — 2018

X Международная студенческая научная конференция Студенческий научный форум — 2018

ПРИМЕНЕНИЕ ДИСКРЕТНОЙ МАТЕМАТИКИ В ПРОГРАММИРОВАНИИ

Бурное развитие дискретной математики обусловлено прогрессом компьютерной техники, необходимостью создания средств обработки и передачи информации, а также представления различных моделей на компьютерах, являющихся по своей природе конечными структурами. Большинство задач исследования операций (распределение ресурсов, сетевое планирование и управление, календарное планирование) описываются математическими моделями дискретного программирования. [2, 9]

Умение логически понимать и решать задачу, которая будет поставлена перед любым программистом (независимо от языка программирования) является основополагающей, без логики невозможно полноценно и правильно решить задачу. Корректной можно считать только ту программу, которая исполняет функции, указанные в её технической спецификации, однако результат на уровне тестирования может кардинально отличаться в условиях реальной работы, поэтому необходимо проверить корректность алгоритма: нужно проверить изменения переменных программы, которые оно используется на всех этапах работы алгоритма (до, во время работы и после). Данные изменения будут рассматриваться как предикаты.

Пусть — предикат, верный для входных значений алгоритма , а — предикат, содержащий условия, которые удовлетворяют выходные значения. Высказывание означает следующее: «если алгоритм начинается с корректного значения , то она закончится при истинном значении ». Предикат называется предусловием, — постусловием. Высказывание тоже предикат, поэтому доказательство алгоритма равносильно доказательству верности . Основываясь на этом, можно доказать правильность алгоритма «Квадратный многочлен» на языке Pascal:

Поделим алгоритм на части и зафиксируем обозначения пред- и постусловий.

Подстановки показывают, что высказывания:

Верны. Таким образом, предикат

Верен, таким образом, алгоритм «Квадратный многочлен» корректен.

Алгоритм условных высказываний тоже поддается такому доказательству, необходимо только отразить альтернативные пути в алгоритме. [6]

Предположим, что высказывание

if условие then

вводит предусловие P и в конце даёт условие Q. Поэтому необходимо доказать истинность двух предикатов:

высказывание 1

Теория множеств используется для наиболее удобного описания массы концепций в информатике. Одним из примеров применения теории множества в программировании является база данных. Возьмём за пример экспертную систему. [10]

Экспертная система создаётся с целью подмены собой специалистов в данной области. Реализуется это благодаря накоплению базы знаний известных событий с определением набора правил вывода, из-за чего ответы на запросы могут быть выведены логическим путём из базы знаний.

Создадим экспертную систему под названием «Королевская династия Англии». Для начала подготовим список фактов, используя предикаты «родитель» и «жена».

Родитель (Георг I, Георг II) жена (София, Георг I)

Родитель (Георг III, Георг IV) жена (Вильгельмина, Георг II)

Родитель (Георг III, Вильгельм IV) жена (Шарлотта, Георг III)

Родитель (Георг III, Эдвард) жена (Каролина, Георг IV)

Родитель (Эдвард, Виктория) жена (Аделаида, Вильгельм IV)

Родитель (Виктория, Эдвард VII) жена (Виктория, Альберт)

Родитель (Эдвард VII, Георг V) жена (Александра, Эдвард VII)

Родитель (Георг V, Эдвард VIII) жена (Виктория Мари, Георг V)

Родитель (Георг V, Георг VI) жена (Елизавета, Георг VI)

Родитель (Георг V, Елизавета II) жена (Елизавета II, Филипп)

Родитель (Виктория, Элис)

Родитель (Элис, Виктория Альберта)

Родитель (Виктория Альберта, Филипп)

Родитель (x, y) означает, что x является родителем y, а жена (x, y) означает, что x — жена y. Это стандартное чтение предикатов, используемых языками программирования, как, например, PROLOG. [4]

Для извлечения информации необходимо отправлять запросы в базу данных. Пример: «является ли Георг I отцом Георга III?», то ответ будет отрицательным, поскольку предикат родитель (Георг I, Георг III) не существует в списке. Формат запроса зависит от языка программирования, который поддерживает та или иная база данных. Таким образом, использование баз данных в работе помогает упорядочить информацию и наиболее эффективно работать с ней. Запросы формируются по принципу: «? — предикат». При этом подразумевается наличие переменной в предикате, которое будет равносильно вопросу о существовании того или иного элемента. [7]

Читайте так же:
Забыл логин и пароль ростелеком что делать

Сформулируем правило вывода для получения информации о матерях из системы. Необходимо обозначить правило мать(x) так, чтобы положительный ответ на этот запрос формировался только в том случае, если x — жена чьего-то родителя или x — женщина и родитель. Правило такого вывода определяется таким образом:

Но данное правило вывода не найдёт всех матерей из-за того, что база данных не полная — в ней не записаны, например, дети Елизаветы Второй. Полученный результат показывает трудности, возникающие при попытках ограничения реального мира рамками математической модели. [5, 8]

1. Бондаренко В.А., Цыплакова О.Н., Родина Е.В Использование компьютерных математических систем в обучении математике.// Информационные системы и технологии как фактор развития экономики региона: сб. научных статей по материалам Международной НПК / Ставрополь: АГРУС Ставропольского ГАУ, 2013. С. 46-50.

2. Долгих Е.В., Тынянко Н.Н. Теоретические экономико-математические модели // Современные проблемы развития экономики и социальной сферы: сборник материалов Международной научно-практической конференции, посвященной 75-летию Ставропольского государственного аграрного университета. Ответственный редактор: Н. В. Кулиш. 2005. С. 553-556.

3. Дискретная математика для экономистов, Шелковой А.Н., Ююкин Н. А., 2014.

4. Зепнова Н.Н., Кузьмин О.В. Применение методов дискретной математики при решении логических задач // Омский научный вестник. 2014. № 2 (130). С. 14-17.

5. Попова С.В. Формирование алгоритмической культуры у студентов на занятиях по математике // Экономика регионов России: анализ современного состояния и перспективы развития: Сборник научных трудов по материалам ежегодной 68-й научно-практической конференции. Ответственный редактор Кулиш Н.В. 2004. с. 423-426.

6. Попова С.В., Колодяжная Т.А. Применение алгоритмов при обучении математике в вузе // Моделирование производственных процессов и развитие информационных систем: Даугавпилсский университет, Латвия, Европейский Союз Белорусский государственный университет, Беларусь Днепропетровский университет экономики и права, Украина Московский государственный университет им. М.В. Ломоносова, Россия Санкт-Петербургский государственный политехнический университет Северо-Кавказский государственный технический университет Ставропольский государственный университет Ставропольский государственный аграрный университет. Ставрополь, 2011. С. 278-281.

7. Попова С.В., Смирнова Н.Б. Элементы алгоритмизации в процессе обучения математике в высшей школе // Современные проблемы развития экономики и социальной сферы: сборник материалов Международной научно-практической конференции, посвященной 75-летию Ставропольского государственного аграрного университета. Ответственный редактор: Н. В. Кулиш. 2005. с. 526-531.

8. Смирнова Н.Б., Попова С.В. Основные принципы проектирования компьютерной математической модели // Сборник научных трудов по материалам Ежегодной 69-й научно-практической конференции, посвященной 75-летию СтГАУ. Ответственный редактор: Кулиш Н. В.. 2005. С. 185-189.

9. Смирнова Н.Б., Попова С.В. Модели, подходы к классификации моделей // Экономика регионов России: анализ современного состояния и перспективы развития: сборник научных трудов по материалам Ежегодной 69-й научно-практической конференции, посвященной 75-летию СтГАУ. Ответственный редактор: Кулиш Н. В. 2005. С. 181-185.

10. Смирнова Н.Б., Попова С.В., Хачатурян Р.Е. Использование логической символики при обучении математике в вузе // Совершенствование информационных и коммуникационных технологий с целью активизации учебного процесса в вузе. Ставрополь, 2006. С. 191-195.

Лучшие книги по математике для программистов

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

Дискретная математика для программистов. Род Хаггарти

Книга Дискретная математика для программистов

В этой книге подробно рассказывается о введении в дискретную математику. Без этих знаний тяжело начать заниматься программированием и информатикой. Автор детально рассказывает о фундаментальных понятиях дискретной математики – графики, множества, логика, булевые функции. Вся теория доступна с простыми примерами, чтобы знания усваивались быстрее и интереснее. Читается она легко и с большим удовольствием. Отлично подходит для студентов и тех, кто увлекается алгоритмами и т.д.

Простая математика для простых программистов. Рик Гаско

Книга Простая Математика для Простых Программистов

Книга отлично подходит для программистов, но и не только. Главная задача книги заключается в том, чтобы человек взял в работу задачу и уже понимал, какой алгоритм к ней применить. Больше всего автор уделил внимание базовым понятиям теории вероятностей. Книгу могут прочитать люди, которые увлекаются высшей математикой.

Читайте так же:
Запись видео на айпад

Дискретная математика и комбинаторика. Джеймс Андерсон

Книга Дискретная математика и комбинаторика

Для чтения книги требуются базовые знании математики на школьном уровне, чтобы понять всю прописанную теорию. Эта книга – современный учебник по дискретной математики, который понравится многим людям. В ней можно найти различные разделы: теория множеств, вычислений и алгоритмов и т.д. Особое внимание автор уделил теории доказательств. Все подкреплено примерами. А в конце учебника можно найти упражнения и позаниматься.

Автор рекомендует читать книгу преподавателям и студентам технических специальностей. Также по этому учебнику можно самостоятельно изучить дискретную математику.

Думай как математик. Барбара Оакли

Книга Думай как математик

Все привыкли считать, что математики – это люди, которые наделены интеллектуальными способностями. Многие думают, что их можно развить только с детства, а потом только дополнять знания. Автор учебника – Барбара Оакли, доктор наук. Она показывает, рассказывает и доказывает, что способ мышления можно и нужно изменить. Книга, а точнее Барбара, призывает читателей тренировать свой мозг и каждую теорию подтверждает примерами.

Чему можно научиться? Быстро решать задачи из любой области знаний. В общем, это хорошая тренировка мозга.

Сказки мнимого мира. История о корне из минуса 1. Пол Дж.Нахин

Книга Сказки мнимого мира. История о корне из минуса 1

Эта книга – удивительная история, которую стоит обязательно прочитать. Издание подходит тем, кто интересуется математикой, в том числе и в историческом ракурсе. Пол Нахин – известный популяризатор точных наук, который рассказывает об интересных исторических фактах, обсуждает математические проблемы и другие задачи, связанные с числами и функциями.

От математики к обобщенному программированию. Александр Степанов, Даниэл Роуз

Книга От математики к обобщенному программированию

Издание небольшое, но авторы подробно объясняют принципы обобщенного программирования, а также понятие математической абстракции. Чтобы ее прочитать, необходимо логически мыслить и обладать достаточными знаниями. Также учебник насыщен историческими фактами и событиями.

Все примеры, которые здесь прописаны, посвящены определенному аспекту теории чисел.

Делитесь не попавшими в эту подборку книгами по математике для программистов в комментариях!

Научный форум dxdy

Нужна ли дискретная математика программисту?

Здравствуйте, Уважаемые.
Заранее понимаю, что наверняка открываю тему-холливар. Хотя учитывая математическую направленность форума — вовсе не факт.

Уже больше дня спорю со знакомым, нужна ли дискретная математика программисту?

Мне кажется, что всё-таки хотя бы какие-то основы, но нужны. Он считает, что это надо оставить математикам, да и если что — их можно нанять для решения мат. задач, которые потом будут записаны кодерами.

Однако ни он, ни я толком доказать свою точку зрения не можем — опыт крайне малый.
Хотелось бы услышать мнение знающих людей, желательно с примерами, где в программировании всё это может пригодиться.

Причём не только на примере задач с условиями из разряда «идеально гладкий полый сферический объект завис в невесомости в абсолютном вакууме», а на реальных практических задачах, с которыми приходится встречаться среднему (и не только) программисту.

Как Вы считаете: нужна или нет? Почему да, а почему нет?

Хмм.
В общем-то я имел ввиду не только конкретно дискромат, но и другие разделы, которые традиционно считаются полезными для информатики и смежного.
Логика, теория графов, автоматом, ТАУ, лямбда-исчисления, рекурсия, разработка, анализ и проектирование алгоритмов, теория кодов, функции и матрицы, деревья, сети, алгебра (имею ввиду не ту, что в школе), комбинаторика, вероятность, теория множеств, чисел и т.д. и т.п.

Большую часть слов я даже не понимаю, оттого не берусь самостоятельно судить, что да к чему.

Но для пущей конкретности упрощу вопрос: «Нужна ли математика программисту?».

Cobert , это факт. Знать синтаксис и не знать основ — это тоже самое, что знать все падежи, времена и прочие особенности синтаксиса русского (английского) языка, но при этом не уметь их применять.

Ведь в принципе все императивные языки пользуются примерно одним инструментарием — циклы, условия, арифметика, ввод/вывод и тем, что уже выводится из этих кирпичиков.

Читайте так же:
В какой программе лучше делать таблицы

Но понимая это, я ловлю себя на мысли, что примера полезности фундаментальщины привести я всё-таки не могу.

Основы логики однозначно нужны. Основы теории алгоритмов — наверняка тоже понадобятся (сортировка там, быстрый поиск в упорядоченном массиве — эти задачи встречаются на каждом шагу).

Без деревьев и рекурсии, например, не сможете перечислить все файлы, лежащие в каком-то каталоге и всех его подкаталогах, а подобные задачи встречаются на практике (то есть можно, конечно, их решить без рекурсии, но это уже сложнее, и теории знать нужно больше ).

Если будете программировать графику (что-нибудь сложнее, чем «просто нарисовать график и всё», это тоже часто встречается на практике), то знания основ линейной алгебры очень помогают. Хотя «просто нарисовать график» можно, используя уже готовые библиотеки.

Сложные математические теории, действительно, требуются не всем. Например, если Вам доведётся моделировать какие-то физические процессы, то не обойтись без знаний в области математического и функционального анализа, дифференциальных уравнений. Если будете разрабатывать язык программирования, нужны будут разделы математики, которые часто объединяют под термином «дискретная» — конечные автоматы, формальные грамматики и т.п.

Т.е. дальше всё уже зависит от задач, которые перед Вами поставят работодатели/заказчики.
Однако следует иметь в виду, что при прочих равных условиях даже для решения относительно простых практических задач предпочтительнее будет выглядеть человек с хорошими знаниями в математике, чем без таковых. Вероятнее, он сможет решать эти задачи лучше и быстрее, чем человек с гуманитарным образованием или без (высшего) образования, хотя из этого правила бывают исключения. Кроме того, тренировка ума, даваемая математикой, может сослужить хорошую службу при изучении имеющихся инструментов и технологий программирования (хотя бы потому, что почти все эти инструменты и технологии преимущественно рассчитаны на человека математического склада ума).

Всё зависит от языка, от приложения.
Графы безусловно — в системном программировании, например в приложениях работы с сетью, это просто букварь. Алгоритмы — безусловно в системном и прикладном программировании, потому что инструментов не хватает, иногда приходиться всё делать самому. Лямда-исчисления — это уже факт, который имеется в C# и в др. языках, не быть знакомым с основами уже не серьезно.
Теория кодирования — вперёд в криптографию, архивация, конвертирование и т.д. — безусловно данные типы приложений нужны. Деревья — к теории графов.
Комбинаторика — реально нужна, например может потребоваться генерировать полный перебор значений, например я давно делал такой перебор, чтобы пройти уровень в игре «Таинственный остров». Уж логика никак не поддавалась, пришлось программно генерировать все комбинации, в итоге так и не получилось пройти, по видимому из-за неверного комбинаторного алгоритма.
Некоторые предметы очень важны, для других достаточно знать основы и где искать информацию. Для серьёзных приложений нужна соответствующая подготовка.

По поводу программистов и математиков, есть книга от человека, который учавствовал в разработке поисковой системы Рамблер, в ней по опыту он не очень отзывается о «математиках в программировании».
Математик видит абстракцию.
Программист видит код, который в конечном счёте представляет из себя набор ассемблерных директив и не всегда понятно, зачем иногда нужны математические «замудренности».
И еще, пользоваться чужими наработками не всегда полезно, т.к. их порой пишут «тяп ляп».

worm2 , спасибо за чёткий и развёрнутый ответ.
А с формулировкой того, что эти инструменты изначально были созданы для математиков, как сказано в посл. абзаце, я вообще столкнулся впервые, однако мысль сильная.

И ещё, конкретно подразумевается под основами логики?
Только логические операции, условные высказывания, таблицы истинности и упрощение лог.выражений (как мне кажется, для практики именно этого из логики и достаточно), или в том числе какие-нибудь дополнительные понятия вроде аксиоматические систем, умозаключений и предикатов тоже нужны?

Читайте так же:
В какой программе создать кроссворд

Спасибо также за примеры.

AlexDem , ух. Что есть программист — это вообще отдельный разговор, причём очень часто перерастающий в многостраничный флуд чуть ли не из разряда «какой язык круче».
А вообще, конечно, это действительно два разных понятия, которые, к сожалению, очень многие не различают в принципе, отчего считают, что программирование — тривиальная задача. Пример тому — многие школьники, научившиеся делать ввод/вывод в паскале, которым потом кажется, что море по колено и вообще ничего сложного в программировании нет (ну как же, конечно! Ведь всё есть, по сути, I/O).
Впрочем, поговорка «чем меньше знаем мы, тем кажется, что больше» работала, работает, и, к сожалению, довольно долго ещё будет работать.

Будь я работодателем, если бы передо мной стоял выбор «программист» или «кодер», я бы принял положительное решение, скорее всего, в сторону первого, так как второму обязательно бы пришлось часами в рабочее время спрашивать на форумах и тематических сайтах «а как это сделать», «а как то сделать», скачивать тонны чужого кода, библиотек и так далее. Словом, суммарные издержки на кодера, если, конечно, задача не совсем тривиальная, могут оказаться намного больше (скорость, отладка, качество кода, эффективность алгоритмов и СД и т.д.), отсюда и выбор.

Что же, получается, чистый кодер умеет? Выкликивать мышкой GUI и ставить ему на ивенты скопированный из сети код? Не лучший, на мой взгляд, вариант.
Тем более, как уже сказал delphiec , не всегда код в сети оказывается достаточного качества.

EtCetera , в общем-то согласен. Первыми программистами были чистые математики, но и задачи были чисто математические, отсюда и конфуз «математик — идеальный программист», хотя на деле программист — это совершенно другая специальность, но в которой всё же нужна математическая грамотность. Никто же не говорит, что идеальнейший физик или экономист — математик, хотя первые двое тоже оперирует множеством математических понятий. И всё же математик по разуму как физику, так и программисту ближе, чем, скажем, филолог или юрист.

Да, согласен. У хорошего программиста ещё должно и быть и какое-то эстетическое чувство, чувство стиля, так как написать код — это мало, надо ещё его поддерживать и развивать. А как его будешь улучшать, если архитектура изначально спроектирована так, что чтобы хоть что-то добавить приходится перелопачивать ровно треть, а то и половину, кода? И здесь как раз очень помогает в том числе и умение правильно абстрагировать и разделять вещи по каким-то схожим характеристикам.
Совсем недавно я видел код примерно на 1000 строк, где все переменные были названы a, b, c, ab, adfg, asdf (и это не названия переменных, содержащих длины и площади фигур) и так далее, а также не было ни одного отступа, хотя код реализовывал какой-то сложный мат. метод.
Вопрос — как долго кто-то, кроме самого автора (да и он тоже через 3-4 месяца), будет разбираться в этом коде и делать его понятным хотя бы специалисту в данной области? Увы, примерно 1/2-3/4 времени, которое квалифицированному читающему понадобилось бы чтобы написать эквивалентный, но читаемый код.
Словом, для промышленного программирования только математики действительно недостаточно хотя бы только из-за того, что на рынке доминирует парадигма ООП и всего лишь написать код — мало.
Системное программирование, в свою очередь, более близко к математике, так как оно ближе и к аппаратуре.
Вот именно поэтому я с вами абсолютно согласен. И ваше мнение не должно быть скромным — вполне похоже, что вы по профессии (бывшей али текущей) и есть программист, если оценивать по сказанному вами.

70% разработчиков только этим и занимаются, на более низком уровне всего лишь подключая чужие библиотеки к этим окошкам и кнопочкам.
Да и оно неудивительно — очень многим нынешним программистам работодатель ставит задачи из разряда «клонировать 1С специально для нашей фирмы», а тут, конечно же, уже есть наработанная база, состоявшиеся методики, технологии и удобные библиотеки. Вывод очевиден.

Читайте так же:
Быстрая программа для просмотра фотографий

Какая знакомая ситуация! Где-то 2/3 месяца назад факт того, что я не могу проходить игру «пятнашки» за приемлемое время, если не начинаю думать, меня так оскорбил, что я взялся писать программу для решения этой задачи методом «грубого подбора».

delphiec , вроде как-то так получается, что основная нужда программистов в математике находится в области системного программирования — компиляторов, операционных систем, работы с оборудованием, сетью и так далее, а для прикладного программирования достаточно основ?

Забыл сказать: сейчас же вроде как развивается так называемые параллельные вычисления, многоядерные процессоры и т.д. А что по этому поводу? Ведь в ближайшее время не предвидится сильно большой простоты в этом вопросе.

Да. Во всяком случае, мне из «сложной» логики пока ничего не понадобилось.

Дискретная математика в программировании

Иванов Б. Н. Дискретная математика. Алгоритмы и программы: Учеб. пособие. — М.: Лаборатория Базовых Знаний, 2001 — 288 с.

Книга посвящена современному курсу дискретной математики. Теоретические основы курса сопровождаются практически значимыми алгоритмами, реализованными в конкретных компьютерных программах. Книгу можно рассматривать в качестве хорошего справочника методов и алгоритмов дискретной математики, широко применяемых в практическом программировании.

Оглавление

Предисловие
Глава 1. Комбинаторные схемы
1.1. Правило суммы
1.2. Правило прямого произведения
1.3. Размещения с повторениями
1.4. Размещения без повторений
1.5. Перестановки
1.6. Сочетания
1.7. Сочетания с повторениями
1.8. Перестановки с повторениями, мультимножества
1.9. Упорядоченные разбиения множества
1.10. Неупорядоченные разбиения множества
1.11. Полиномиальная формула
1.12. Бином Ньютона
1.13. Инверсии
1.14. Обратные перестановки
Глава 2. Представление абстрактных объектов
2.1. Представление последовательностей
2.2. Представление деревьев
2.3. Представление множеств
Глава 3. Методы подсчета и оценивания
3.1. Производящие функции
3.2. Линейные рекуррентные соотношения
3.3. Неоднородные линейные рекуррентные соотношения
3.4. Обобщенное правило произведения
3.5. Принцип включения и исключения
3.6. Ладейные многочлены и многочлены попаданий
Глава 4. Генерация комбинаторных объектов
4.2. Перестановки различных элементов
4.3. Эффективное порождение перестановок
4.4. Порождение подмножеств множества
4.5. Генерация размещений с повторениями
4.6. Порождение сочетаний
4.7. Порождение композиций и разбиений
4.8. Генерация случайных перестановок
Глава 5. Сортировка и поиск
5.1. Сортировка вставками
5.2. Пузырьковая сортировка
5.3. Сортировка перечислением
5.4. Сортировка всплытием Флойда
5.5. Последовательный поиск
5.6. Логарифмический поиск
5.7. Сортировка с вычисляемыми адресами
Глава 6. Введение в теорию графов. Алгоритмы на графах
6.2. Представления графов
6.3. Метод поиска в глубину
6.4. Отношение эквивалентности
6.5. Связные компоненты
6.6. Выделение компонент связности
6.7. Эйлеровы графы
6.8. Остовные деревья
6.8.1. Жадный алгоритм построения минимального остовного дерева
6.8.2. Алгоритм ближайшего соседа построения остовного дерева
6.9. Кратчайшие пути на графе
6.10. Потоки в сетях
6.11. Клики, независимые множества
6.12. Циклы, фундаментальные множества циклов
6.13. Листы и блоки
6.14. Двудольные графы
6.15. Хроматические графы
6.16. Диаметр, радиус и центры графа
Глава 7. Введение в теорию групп. Приложения
7.2. Гомоморфизм групп
7.3. Смежные классы
7.4. Строение коммутативных (абелевых) групп
7.5. Строение некоммутативных групп
7.6. Симметрическая группа подстановок
7.7. Действие групп на множестве
7.8. Цикловой индекс группы
7.9. Теория перечисления Пойа
7.10. Цикловая структура групп подстановок
Глава 8. Элементы теории чисел
8.1. Наибольший общий делитель
8.2. Наименьшее общее кратное
8.3. Простые числа
8.4. Сравнения, свойства сравнений
8.5. Полная система вычетов
8.6. Приведенная система вычетов
8.7. Функция Эйлера
8.8. Функция Мебиуса. Формула обращения Мёбиуса

© 2021 Научная библиотека

Копирование информации со страницы разрешается только с указанием ссылки на данный сайт

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector