Что означает арифметика. Что такое арифметика? Основная теорема арифметики. Двоичная арифметика. Арифметика – это азбука математики

Покалеченные ментальной арифметикой

Что означает арифметика. Что такое арифметика? Основная теорема арифметики. Двоичная арифметика. Арифметика - это азбука математики

В последнее время мы с коллегами довольно часто сталкиваемся с детьми, которые занимались на популярных курсах ментальной арифметики и теперь испытывают серьёзные проблемы со школьной математикой. Давайте подробнее посмотрим, что это такое, и как это новомодное увлечение калечит мышление учеников.

Про ментальную арифметику как способ быстрого счёта в уме, наверняка, многие уже слышали. Если набрать в поисковиках это словосочетание, то можно увидеть десятки ссылок на различные центры раннего развития детей.

Но даже если целенаправленно их не искать, вы всё равно скорее всего натолкнётесь на агрессивную рекламу подобных курсов.

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

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

Он похож на старые добрые счёты, но число костяшек на каждой спице не десять, а пять. Верхние костяшки называются «небесными» и отделены от нижних («земных») планкой.

Сам счёт основан на механических передвижениях этих костяшек по спицам по определённым правилам.

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

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

Если остальные дети только знакомятся с составом чисел в пределах десяти и учатся складывать через десяток, то ментальные арифметики могут спокойно складывать трёхзначные числа почти не задумываясь.

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

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

Например, чтобы ученик в начальной школе дошёл до алгоритма сложения столбиком, он должен проделать довольно большой путь: сначала должен научиться складывать/вычитать в пределах десяти, потом делать тоже самое в пределах 20 с переходом через десяток, затем научиться понимать разницу между единицами, десятками и сотнями и так далее. Конечно, можно и в первом классе объяснить сложение и вычитание столбиком, научить «переносить единицу» и «занимать» у некоторых чисел. Но это всё бесполезно, так как ведёт к восприятию математики как некой непонятной магии. Причём ментальную арифметику, согласно нашей классификации, можно отнести даже к чёрной магии, потому что никто принципиально не ставит цели пояснить детям, откуда взялись все эти алгоритмы.

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

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

То есть с текстовыми задачами ученик работает примерно так: не задумываясь вычленяет из текста числа, потом их преобразует и даёт ответ. Бесполезно спрашивать, как он к этому ответу пришёл — он не понимает, что от него хотят.

У него нет представления о том, что нужно сначала разобраться в задаче, а потом с ней как-то работать. Голова забита только образом абакуса, и ученику не хватает воображения, чтобы представить ещё и саму задачу. Он просто замечает числа и складывает их — «вижу цель, не вижу препятствий». Кстати, интересная особенность.

Такие дети практически всегда в задачах в качестве ответа говорят просто одно число. Хотя правильно говорить развернутый ответ вроде «Мама купила 200 граммов сахара» или на худой конец просто «200 граммов».

Во-вторых, у таких детей нет представления о приблизительных вычислениях. То есть они не могут оценить примерно сколько сотен будет, например, в сумме 313 + 407. Они сначала посчитают точное значение и только потом, если повезёт, смогут сказать правильный ответ. То есть чувство числа у них как таковое отсутствует.

Ну и наконец, в-третьих, у них проблемы с позиционным счётом. Они любое число воспринимают как набор цифр. Такие дети видят трёхзначное число 423 и говорят, что это 4, потом за ней идёт 2, а потом 3.

Отсюда же возникают показательные ошибки вроде такой: 32 + 41 = 37 (здесь ученик механически получил в ответе две цифры 7 и 3 и неправильно их разместил в ответе).

А вопрос вроде «сколько в сотне десятков?» часто вообще вводит их в глубокий ступор.

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

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

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

При дальнейшем обучении вычисления вообще идут на воображаемых счётах, а движения пальцами остаются просто рефлекторными.

Но может быть тогда развивается воображение? Действительно, при занятиях ментальной арифметикой в голове необходимо постоянно удерживать образ счётов, на которых происходят воображаемые вычисления. Но в голове ученик держит только один этот образ.

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

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

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

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

Конечно, ничего подобного в ментальной арифметике нет.

—————————–

Но если ментальная арифметика такая бесполезная или даже вредная, почему о ней так много говорят позитивного? Тут всё ещё проще — прибыль. Это обычный нишевый маркетинговый проект по выкачиванию денег из родителей. Успех его вызван грамотно выстроенной рекламной стратегией и позиционированием продукта.

Представьте себе обычного родителя. Когда он читает рекламу подобных курсов, у него возникает много положительных ассоциаций. Например, он может рассуждать так: «Технология пришла из Япония и Китая, эти страны имеют очень развитую экономику, поэтому наверняка это что-то хорошее.

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

А вчера по Первому каналу показали ребёнка с таких курсов, и все восхищались его талантом»

А предприимчивые люди играют на самолюбии таких родителей, которые мечтают потом сказать: «А мой Васютка ходит в первый класс, но уже умеет умножать в уме трёхзначные числа. Какой он умный и хороший!». Подразумевая, конечно, что-то вроде: “Какая Я хорошая, что воспитываю такого сына.

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

Потом можно будет обвинить учителей, систему образования и мировое правительство, что они загубили такой талант. Никому невдомёк, что в младшем возрасте ребёнку полезнее просто играть в мячик, кубики или конструктор.

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

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

Тем более ментальная арифметика хорошо продаётся, а противостоять деньгам и капиталу могут только люди с поставленным системным мышлением и мировоззрением, что встречается довольно редко.

Но ведь есть учителя, которые так или иначе рекламируют подобные курсы! Причина этого проста: они или сами преподают на этих курсах, или хорошо отзываются о них за «долю малую».

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

————————

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

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

Опытный главный бухгалтер Зинаида Петровна знает математику хуже, чем хорошо подготовленный абитуриент.

Рисунок из книги «Энциклопедия для детей. Математика»

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

Источник: https://zen.yandex.ru/media/id/5d7b0f991ee34f00ac847673/5de207a81febd400b0cfbb52

Двоичная арифметика

Что означает арифметика. Что такое арифметика? Основная теорема арифметики. Двоичная арифметика. Арифметика - это азбука математики

Немного теории…

Числа, которыми мы привыкли пользоваться называются десятичными и арифметика, которой мы пользуемся, также называется десятичной. Это потому, что каждое число можно составить из набора цифр содержащего 10 символов – цифр – “0123456789”.

Так шло развитие математики, что именно этот набор стал главным, но десятичная арифметика не единственная.

Если мы возьмём только пять цифр, то на их основе можно построить пятеричную арифметику, из семи цифр – семеричную.

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

Цифры, применяемые в широко используемых различных системах счисления:

0, 1 – цифры двоичной системы

0, 1, 2, 3, 4, 5, 6, 7 – цифры восьмеричной системы

0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – цифры десятичной системы

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,  B, C, D, E, F – цифры шестнадцатеричной системы

Чтобы понять, что такое число в не десятичной арифметике сначала выясним, что такое число в десятичной арифметике.

Возьмём, к примеру, число 246. Эта запись означает, что в числе две сотни, четыре десятка и шесть единиц. Следовательно, можно записать следующее равенство:

246 = 200 + 40 + 6 = 2?102 + 4?101 + 6?100

Здесь знаками равенства отделены три варианта записи одного и того же десятичного числа. Наиболее интересна нам сейчас третья форма записи: 2?102 + 4?101 + 6?100 . Она устроена следующим образом:

В нашем числе три цифры. Старшая цифра “2” имеет номер 3. Так вот она умножается на 10 во второй степени. Следующая цифра “4” имеет порядковый номер 2 и умножается на 10 в первой. Уже видно, что цифры умножаются на десять в степени на единицу меньше порядкового номера цифры.

В этой записи очень хорошо видна роль десятки. Десятка является основой образования числа. И к стати она так и называется “основание системы счисления”, а сама система счисления, поэтому так и называется “десятичной”.

В общем, заменяем 10 на любое другое число и получаем совершенно другую систему счисления и другую арифметику. Наиболее простая арифметика получается, если 10 заменить на 2. Полученная система счисления называется двоичной

Эта система самая простая из всех возможных, так как в ней любое число образуется только из двух цифр 0 и 1. Понятно, что проще уже некуда. Примеры двоичных чисел : 10, 111, 101.

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

Пример:1102    – двоичная.                                                                                                         

 У чисел, записанных в десятичной системе счисления, индекс 10 обычно не пишется, но его можно писать. Так что  2 = 210 ,  10 = 1010 , и так далее.             

Можно ли двоичное число преобразовать в десятичное?
И наоборот. Можно ли десятичное число преобразовать в двоичное?

Двоичное в десятичное.

 Это очень просто. Метод такого перевода даёт наш способ записи чисел. Возьмём, к примеру, следующее двоичное число 1011. Разложим его по степеням двойки. Получим следующее:

1011 = 1?23 + 0?22 + 1?21 + 1?20

Выполним все записанные действия и получим:

1?23 + 0?22 + 1?21 + 1?20 = 8 + 0+ 2 + 1 = 11. Таким образом, получаем, что 1011(двоичное) = 11 (десятичное). Сразу видно и небольшое неудобство двоичной системы. То же самое число, которое, в десятичной системе записано одним знаком в двоичной системе, для своей записи требует четыре знака. Но это плата за простоту.

Десятичное в двоичное.

К примеру, переведём число 345 из десятичной в двоичную систему счисления. Для этого  воспользуемся следующим алгоритмом: будем делить число 345 на 2, а остаток от каждого деления записывать отдельно. Повторяя эту процедуру до тех пор, пока частное не станет равным 0.

частное остаток 345 : 2 = 172 1 (младший разряд) 172 : 2 = 86 0 86 : 2 = 43 0 43 : 2 = 21 1 21 : 2 = 10 1 10 : 2 = 5 0 5 : 2 = 2 1 2 : 2 = 1 0 1 : 2 = 0 1 (старший разряд) 34510 = 1010110012                        

Сложение двоичных чисел.

0 + 0 = 0 1 + 0 = 1 0 + 1 = 1

1 + 1 = 10

Способ сложения столбиком в общем-то такой же как и для десятичного числа. То есть, сложение выполняется поразрядно, начиная с младшей цифры.

Выполним пример: 10011 + 10001.                

+10011

­­­­­­­­­­­­­­­­­­­   10001

100100                  

Первый разряд: 1+1 = 2. Записываем 0 и 1 на ум пошло.

Второй разряд: 1+0+1(запомненная единица) =2. Записываем 0 и 1 на ум пошло.

Третий разряд: 0+0+1(запомненная единица) = 1. Записываем 1.

Четвертый разряд 0+0=0. Записываем 0.

Пятый разряд 1+1=2. Записываем 0 и добавляем  шестым разрядом 1.

Переведём все три числа в десятичную систему и проверим правильность сложения.

10011 = 1?24 + 0?23 + 0?22 + 1?21 + 1?20 = 16 + 2 + 1 =19

10001 = 1?24 + 0?23 + 0?22 + 0?21 + 1?20 = 16 + 1 = 17

100100 = 1?25 + 0?24 + 0?23 + 1?22 + 0?21 + 0?20 =32+4=36

17 + 19 = 36 верное равенство

Вычитание двоичных чисел

0 – 0 = 0

1 – 0 = 1

0 – 1 = -1

1 – 1 = 0

При вычитании в столбик мы можем “занимать” единицу у следующего разряда, точно так же, как мы делаем это для десятичной системы. Эта занимаемая 1 равна двум 1 данного разряда.

                    _10011

­­­­­­­­­­­­­­­­­­­                               10001

                         00010                  

Переведём все три числа в десятичную систему и проверим правильность вычитания.

10011 = 1?24 + 0?23 + 0?22 + 1?21 + 1?20 = 16 + 2 + 1 =19

10001 = 1?24 + 0?23 + 0?22 + 0?21 + 1?20 = 16 + 1 = 17

00010 = 0?24 + 0?23 + 0?22 + 1?21 + 0?20  = 2

Умножение двоичных чисел

0 ? 0 = 0 1 ? 0 = 0 0 ? 1 = 0

1 ? 1 = 1

Это действие над двоичными числами можно выполнить в столбик, как мы делаем это для десятичных чисел:

                          10011

­­­­­­­­­­­­­­­­­­­                               Х      10

                          00000

                       10011

                       100110

Переведём все три числа в десятичную систему и проверим правильность умножения.

10011 = 1?24 + 0?23 + 0?22 + 1?21 + 1?20 = 16 + 2 + 1 =19

10=1?21+0?20= 2

100110 = 1?25 + 0?24 + 0?23 + 1?22 + 1?21 + 0?20 = 32 + 4 + 2 = 38

19?2=38 Верно.

Деление  двоичных чисел

Деление двоичных чисел производится по тем же правилам, что и для десятичных. При этом используются таблицы двоичного умножения и вычитания. Для лучшего понимания алгоритм деления разберём более подробно. Пусть нам необходимо разделить два десятичных числа, например 234 разделить на 7. Как мы это делаем в десятичной системе счисления.

234|7__  

Мы выделяем справа (от старшего разряда) такое количество цифр, чтобы получившееся число было как можно меньше и в то же время больше делителя. 2 – меньше делителя, следовательно, необходимое нам число 23. Затем делим полученное число на делитель с остатком. Получаем следующий результат:

                        _  234|7__

­­­­­­­­­­­­­­­­­­­                                   21  |3

                           24                  

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

_  234|7__

­­­­­­­­­­­­­­­­­­­    21  |33

    _ 24

       21

         3

Так вот операция деления двоичного числа выполняется точно также. Попробуем

11101010 | 111

                 |

Ищем число, от старшего разряда которое первое было бы больше чем делитель или равно ему. Это трёхразрядное число 111. Теперь необходимо подобрать делитель выделенному числу.

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

Так как 111  равно 111, то с делителем всё понятно это 1. Выполним шаг операции.

11101010 | 111

111         | 1

0000

Итак, остаток от выполненной операции 000. Это меньше чем 111, поэтому чтобы выполнить второй шаг деления, необходимо добавить(снести) к 000 следующую цифру, это цифра 0. Так как всё равно получился 0, то и в частное записываем 0. И сносим вниз следующую цифру.

11101010 | 111

111         | 10

00001

00001 меньше 111 поэтому  мы опять допишем в частное цифру 0

11101010 | 111

111         | 100

00001

00001 меньше числа 111, поэтому сносим вниз следующую цифру.

11101010 | 111

111         | 100

000010

Опять получилось меньше. Дописываем в частное ещё один 0. И сносим следующую цифру.

11101010 | 111

111         | 1000

0000101

Число 0000101 меньше чем 111, поэтому в частное дописываем ещё один 0. И сносим следующую цифру.

11101010 | 111

111         | 10000

_00001010

            111

Число 00001010 больше чем 111, поэтому дописываем в частное цифру 1 и выполняем действие вычитания. При этом не забываем, что одна занятая единица из старшего разряда, равна двум единицам младшего разряда( того разряда, куда мы занимаем.

11101010 | 111

111         | 100001

_00001010

            111

          0011

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

 Проверяем полученный результат.

11101010 = 1?27 + 1?26 + 1?25 + 0?24 + 1?23 + 0?22+ 1?21 + 0?20 = 128 + 64 + 32 + 0 +8 + 0 + 2 + 0 = 234

111 = 1?22 + 1?21 + 1?20 = 4 + 2 + 1 = 7

100001 = 1?25 + 0?24 + 0?23 + 0?22+ 0?21 + 1?20 = 32 + 0 + 0 + 0 + 0 + 1 = 33

 Верно.

Источник: https://chipmk.ru/component/k2/item/1088-dvoichnaya-arifmetika

Введение в модулярную арифметику

Что означает арифметика. Что такое арифметика? Основная теорема арифметики. Двоичная арифметика. Арифметика - это азбука математики

В обычной жизни мы обычно пользуемся позиционной системой счисления. В позиционной системе счисления значение каждого числового знака (цифры) в записи числа зависит от его позиции (разряда) [1].

Однако существуют и так называемые «непозиционные системы счисления», к одной из которых относится «система остаточных классов» (СОК) (или в оригинале Residue Number System (RNS)), являющаяся основой модулярной арифметики.

Модулярная арифметика базируется на «Китайской теореме об остатках» [2], которая для нашего случая звучит следующим образом:
Для любой системы взаимно простых чисел p1, … pn, любое число X из диапазона [0; M), где M = p1*p2*…*pn взаимооднозначно представимо в виде вектора (a1, a2, …, an), где ai = X%pi (здесь и далее «%» — операция взятия остатка от целочисленного деления X на pi).

p1, … pn – модули системы
a1, a2, …, an – остатки (вычеты) числа по заданной системе модулей

На первый взгляд непонятно какое преимущество может дать такая система, однако существует 2 свойства, которые позволяют эффективно использовать модулярную арифметику в некоторых областях микроэлектроники:

  1. Отсутствие переноса разрядов в сложении и умножении.

    Пусть нам дано два числа X1 и X2, представленные в виде системы остатков (x11, x12, …, x1n) и (x21, x22, …, x2n) по системе взаимнопростых чисел (p1, p2, …, pn).

    В этом случае:
    X3 = X1 + X2 = ((x11+x21)%p1, (x12+x22)%p2, …, (x1n+x2n)%pn)
    X4 = X1 * X2 = ((x11*x21)%p1, (x12*x22)%p2, …, (x1n*x2n)%pn)
    То есть что бы сложить или умножить два числа, достаточно сложить или умножить соответствующие элементы вектора, что для микроэлектроники означает, что это можно сделать параллельно и из-за малых размерностей p1, p2, …, pn сделать очень быстро.

  2. Ошибка в одной позиции вектора не влияет на расчеты в других позициях вектора. В отличие от позиционной системы счисления все элементы вектора равнозначны и ошибка в одном из них ведет всего лишь к сокращению динамического диапазона. Этот факт позволяет проектировать устройства с повышенной отказоустойчивостью и коррекцией ошибок.
Обычное умножениеМодулярное умножение

Но не всё так гладко, как хотелось бы. В отличие от позиционной системы счисления, следующие операции (называемые «немодульными») выполняются сложнее, чем в позиционной системе счисления: сравнение чисел, контроль переполнения, деление, квадратный корень и.т.д.

Первые успешные попытки применения модулярной арифметики в микроэлектронике были предприняты ещё в 1950-х годах, но из-за сложностей с немодульными операциями интерес несколько утих.

Однако в настоящее время модулярная арифметика снова возвращается в микроэлектронику по следующим причинам:

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

В данный момент модулярная арифметика применяется в следующих областях: цифровая обработка сигналов, криптография, обработка изображений/аудио/видео и.т.д.

Прямое преобразование

Прямое преобразование из позиционной системы счисления (обычно в двоичном виде) в систему счисления в остатках заключается в нахождении остатков от деления по каждому из модулей системы. Пример: Пусть требуется найти представление числа X = 25 по системе модулей (3, 5, 7). X = (25%3, 25%5, 25%7) = (1, 0, 4).

Реализация нахождения вычета в микроэлектронике по заданному модулю строится на следующих свойствах вычетов: (a+b) % p = (a%p + b%p)%p (a*b) % p = (a%p * b%p)%p

Любое число X можно записать в виде X%p = (xn-1*2n-1 + xn-2*2n-2 + x0*20)%p = ((xn-1)%p*2n-1%p) + ((xn-2)%p*2n-2%p) + … + x0%p)%p.

Поскольку в данном случае xn-1, … x0 равны 0 или 1, то фактически нам требуется сложить вычеты вида (2i%p).

Пример: пусть задано число 25 или в двоичной системе счисления 11001 и требуется найти остаток по модулю 7.
25%7 = (1*24 + 1*23 + 0*22 + 0*1 + 1*20)%7 = (24%7 + 23%7 + 1%7)%7 = (2 + 1 + 1)%7 = 4 Систему используемых модулей подбирают под конкретную задачу. Например, для представления 32-х битных чисел достаточно следующей системы модулей: (7, 11, 13, 17, 19, 23, 29, 31) – все они взаимнопросты друг с другом, их произведение равно 6685349671 > 4294967296. Каждый из модулей не превышает 5 бит, то есть операции сложения и умножения будут производиться над 5-битными числами.

Особое значение так же имеет система модулей вида: (2n-1, 2n, 2n+1) в связи с тем, что прямое и обратное преобразование для них выполняется простейшим образом. Что бы получить остаток от деления на 2n достаточно взять последние n цифр двоичного представления числа.

Арифметические операции

Пример: пусть задана система модулей (3, 5, 7), то есть мы можем выполнять операции, результат которых не превышает 3*5*7 = 105. Умножим два числа 8 и 10. 8 = (8%3, 8%5, 8%7) = (2, 3, 1) 10 = (10%3, 10%5, 10%7) = (1, 0, 3) 8*10 = ((2*1)%3, (3*0)%5, (1*3)%7) = (2, 0, 3) Проверяем

80 = (80%3, 80%5, 80%7) = (2, 0, 3)

Обратное преобразование

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

  1. На базе Китайской теоремы об остатках или системы ортогональных базисов
  2. На базе полиадического кода (другие названия mixed-radix system, система, со смешанным основанием)

Остальные предложенные в различной литературе способы, по сути, являются смесью этих двух. Способ, основанный на Китайской теореме об остатках, базируется на следующей идее:

X = (x1, x2, … xn) = (x1, 0, …, 0) + (0, x2, …, 0) + … + (0, 0, …., xn) = x1*(1, 0, …, 0) + x2*(0, 1, …, 0) + … + xn*(0, 0, …, 1).

То есть для обратного преобразования требуется найти систему ортогональных базисов B1 = (1, 0, …, 0), B2 = (0, 1, …, 0), …, BN = (0, 0, …, 1). Эти вектора находятся один раз для заданного базиса, а для их поиска требуется решить уравнение вида: (Mi*bi)%pi = 1, где Mi = M/pi, а bi – искомое число. В этом случае позиционное представление Bi = Mi*bi и
X = (x1*(M1*b1) + x2*(M2*b2) + … + xn*(Mn*bn))%M Пример: пусть задана система модулей (3, 5, 7), найдем значения Mi и bi (0 < i b1 = 2
(21*b2)%5 = 1 => b2 = 1
(15*b3)%7 = 1 => b3 = 1 Теперь преобразуем какое-нибудь число в системе остаточных классов. Положим

X = (2, 3, 1) = (2*35*2 + 3*21*1 + 1*15*1)%105 = (140 + 63 + 15)%105 = 218%105 = 8

Минус этого метода заключается в том, что для обратного преобразования требуется умножение и сложение больших чисел (M1, …, Mn), а так же операция взятия остатка по модулю большого числа M.

Способ на базе полиадического кода, базируется на идее, что любое число X может быть представлено в системе взаимно простых чисел p1, … pn, как [4]:

X = a1 + a2*p1 + a3*p1*p2 +… + an-1*p1*p2*…*pn-2 + an*p1*p2*…*pn-1, где 0 < ai < pi

  • X%p1 = x1 = a1
  • (X – a1)%p2 = (x2 — a1)%p2 = (a2*p1)%p2 => a2 = ((p1-1)%p2*(x2 — a1))%p2
  • (X — a1 — a2*p1)%p3 = (a3*p1*p2)%p3 => a3 = ((p2-1)%p3*((p1-1)%p3*(x3 — a1) — a2))%p3

Для использования этого метода требуются константы вида (pi-1)%pk-1. Можно также заметить, что начинать вычисление a3 можно, как только появилось значение a1. На основе этого метода можно строить конвеерные преобразователи. Пример: Рассмотрим тот же пример — найдем позиционное представление числа X = (2, 3, 1) в системе модулей (3, 5, 7)

  • a1 = x1 = 2
  • a2 = ((p1-1)%p2*(x2 — a1))%p2 = ((3-1)%5*(3 — 2))%5 = 2*1 = 2
  • a3 = ((p2-1)%p3*((p1-1)%p3*(x3 — a1) — a2))%p3 = ((5-1)%7*((3-1)%7*(1 — 2) — 2))%7 = (3*(5*(1-2)-2))%7 = (3*(-7))%7 = 0
  • X = a1 + a2*p1 + a3*p1*p2 = a1 + 3*a2 + 15*a3 = 2 + 3*2 + 15*0 = 8

Замечание: что бы найти константу вида (3-1)%5 требуется решить уравнение (3*x)%5 = 1, где 0

Источник: https://habr.com/post/144886/

Основная теорема арифметики: формулировка, доказательство

Что означает арифметика. Что такое арифметика? Основная теорема арифметики. Двоичная арифметика. Арифметика - это азбука математики

Данный материал мы посвятим теоретическим основам разложения чисел на некоторые простые множители. Это называется основной теоремой арифметики. В начале мы приведем ее формулировку, а потом обоснуем и докажем.

Две вспомогательные теоремы для доказательства основной теоремы арифметики

Согласно основной теореме арифметики, любое целое число, большее 1, может быть разложено на простые множители. Перед тем, как переходить к формулировке и доказательствам, запишем две теоремы, которые нам в этом помогут.

Теорема 1

Любое положительное число a, не равное 1, можно разделить на число p, если оно не является по отношению к a взаимно обратным числом.

Доказательство 1

Докажем это утверждение. Наибольшим общим делителем двух чисел a и p будет p. Поскольку p является простым числом, то у него всего два положительных делителя – единица и оно само.

Значит, наибольший общий делитель (НОД) a и p будет равен либо единице, либо p. Если мы возьмем случай с единицей, то получим, что a и p будут взаимно простыми числами.

Во втором случае, если a можно разделить на НОД (a, p), то a делится на p.

Вторая теорема выглядит так:

Теорема 2

Если у нас есть произведение нескольких целых положительных множителей, не равных единице, которое можно разделить на число p, то на это же число можно разделить хотя бы один из множителей.

Доказательство 2

Перейдем к доказательству. Согласно первой теореме, каждый множитель по отношению к p либо является взаимно простым, либо может быть разделен на p. Если бы все множители были взаимно простыми с p, то данное произведение целиком было бы таким же, что следует из свойств взаимно простых чисел. Следовательно, на p можно разделить хотя бы один из множителей.

После того, как мы сформулировали две вспомогательные теоремы, мы можем перейти к основной теореме арифметики.

Теорема 3

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

Доказательство 3

Докажем данную теорему. Возьмем целое число a, которое будет больше 1, и докажем, что его вообще можно разложить на множители. Возьмем наименьший положительный делитель данного числа, не равный единице, и обозначим его p1.

 Исходя из теоремы, доказательство которой мы приводили в статье о таблице простых чисел, данное число будет простым. Тогда, согласно определению делимости, должно существовать такое целое число, для которого a=p1·a1.

Если a1 будет больше 1, то должно существовать число, являющееся его наименьшим простым делителем, значит, a1=p2·a2 и a=p1·p2·a2.

Проводим такие подсчеты до тех пор, пока у нас не получится a=1. Такой итог неизбежен, поскольку a, a1, a2, … является последовательностью целых чисел в убывающем порядке. Таким образом, число a всегда может быть разложено на простые множители вида a=p1·p2·…·pn. Если показатель n будет равен единице, то у нас получится, что a=p1. Это разложение подходит для простого числа.

Теперь нам надо доказать, что подобное разложение будет единственным. Допустим, что помимо a=p1·p2·…·pn есть и другое разложение. Обозначим его a=q1·q2·…·qm.

Следовательно, в таком случае было бы справедливым равенство p1·p2·…·pn=q1·q2·…·qm.

Докажем, что если n не равен m, то данное равенство будет невозможным, а при равенстве показателей эти произведения p1·p2·…·pn и q1·q2·…·qm будут тождественно равными.

Мы можем разделить правую часть равенства на q. Тогда, согласно предыдущей теореме, у нас должен быть хотя бы один множитель из последовательности p1, p2, …, pn, который можно разделить на q1.

Например, предположим, что p1 делится на q1, но поскольку оба этих числа являются простыми, то p1 делится на q1 только тогда, когда q1=p1.

Тогда мы можем сократить правую и левую часть равенства: p1·p2·…·pn=q1·q2·…·qm на q1=p1. Получаем, что p2·…·pn=q2·…·qm.

Повторяем те же действия с p2 и q2 и приходим к равенству p3·…·pn=q3·…·qm. Действуем так до тех пор, пока не сократим все множители. Если n не равен m, то у нас будет равенство 1=qn+1·…·qm, и pm+1·…·pn=1.

Для простых чисел они невозможны. Если же показатели равны друг другу, то мы придем к тождеству 1=1, что говорит нам о тождественном равенстве разложений a=p1·p2·…·pn и a=q1·q2·…·qm.

На этом единственность разложения на простые множители можно считать доказанной.

Подводя итоги, заметим, что основная теорема арифметики может также называться теоремой о разложении чисел на простые множители.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter

Источник: https://Zaochnik.com/spravochnik/matematika/delimost/osnovnaja-teorema-arifmetiki/

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