Остаток

В математике остаток — это сумма , «оставшаяся» после выполнения некоторых вычислений. В арифметике остаток — это целое число, «оставшееся» после деления одного целого числа на другое для получения целочисленного частного ( целочисленное деление ). В алгебре многочленов остаток — это многочлен, «оставшийся» после деления одного многочлена на другой. Операция по модулю — это операция, которая дает такой остаток при наличии делимого и делителя.

Альтернативно, остаток — это тоже то, что остается после вычитания одного числа из другого, хотя точнее это называется разницей . Такое использование можно найти в некоторых учебниках по элементарным знаниям; в просторечии его заменяют выражением «остальное», например: «Верните мне два доллара, а остальное оставьте себе». [1] Однако термин «остаток» по-прежнему используется в этом смысле, когда функция аппроксимируется разложением в ряд , где выражение ошибки («остальное») называется остатком .

Целочисленное деление [ править ]

Учитывая целое число a и ненулевое целое число d , можно показать, что существуют уникальные целые числа q и r , такие, что a = qd + r и 0 ≤ r < | д | . Число q называется частным , а число r называется остатком .

(Доказательство этого результата см. в разделе Евклидово деление . Алгоритмы, описывающие, как вычислить остаток, см. в разделе «Алгоритм деления» .)

Остаток, как определено выше, называется наименьшим положительным остатком или просто остатком . [2] Целое число a либо кратно d , либо лежит в интервале между последовательными кратными d , а именно q⋅d и ( q + 1) d (для положительного q ).

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

а знак равно k⋅d + s , где | s | ≤ | д /2| для некоторого целого числа k .

В этом случае s называется наименьшим абсолютным остатком . [3] Как и в случае с частным и остатком, k и s определяются однозначно, за исключением случая, когда d = 2 n и s = ± n . Для этого исключения у нас есть:

а знак равно k⋅d + п знак равно ( k + 1) d - п .

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

Примеры [ править ]

При делении 43 на 5 имеем:

43 = 8 × 5 + 3,

поэтому 3 — наименьший положительный остаток. У нас тоже есть такое:

43 = 9 × 5 − 2,

и −2 — наименьший абсолютный остаток.

Эти определения также действительны, если d отрицательно, например, при делении 43 на -5,

43 = (−8) × (−5) + 3,

и 3 — наименьший положительный остаток, а

43 = (−9) × (−5) + (−2)

и −2 — наименьший абсолютный остаток.

При делении 42 на 5 имеем:

42 = 8 × 5 + 2,

и поскольку 2 <5/2, 2 является одновременно и наименьшим положительным остатком, и наименьшим абсолютным остатком.

В этих примерах (отрицательный) наименьший абсолютный остаток получается из наименьшего положительного остатка путем вычитания 5, что равно d . Это справедливо в целом. При делении на d либо оба остатка положительны и, следовательно, равны, либо имеют противоположные знаки. Если положительный остаток равен r 1 , а отрицательный - r 2 , то

р 1 знак равно р 2 + d .

Для чисел с плавающей запятой [ править ]

Когда a и d являются числами с плавающей запятой , где d не равно нулю, a можно разделить на d без остатка, при этом частное является другим числом с плавающей запятой. Однако если частное ограничено целым числом, концепция остатка все равно необходима. Можно доказать, что существуют уникальное целочисленное частное q и единственный остаток с плавающей запятой r такие, что a = qd + r с 0 ≤ r < | д |.

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

В языках программирования [ править ]

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

  • Паскаль выбирает положительный результат операции mod , но не допускает, чтобы d было отрицательным или нулевым (поэтому a = ( a div d ) × d + a mod d не всегда допустимо). [4]
  • C99 выбирает остаток с тем же знаком, что и делимое a . [5] (До C99 язык C допускал другие варианты.)
  • Perl , Python (только современные версии) выбирают остаток с тем же знаком, что и делитель d . [6]
  • Scheme предлагает две функции: остаток и по модулю : у Ada и PL/I есть mod и rem , а у Фортрана mod и modulo ; в каждом случае первое согласуется по знаку с делимым, а второе — с делителем. В Common Lisp и Haskell также есть mod и rem , но mod использует знак делителя, а rem использует знак делимого.

Полиномиальное деление [ править ]

Евклидово деление многочленов очень похоже на евклидово деление целых чисел и приводит к полиномиальным остаткам. Его существование основано на следующей теореме: даны два одномерных многочлена a ( x ) и b ( x ) (где b ( x ) - ненулевой многочлен), определенные над полем (в частности, действительными или комплексными числами ), существуют два полинома q ( x ) ( частное ) и r ( x ) ( остаток ), которые удовлетворяют: [7]

где

где «deg(...)» обозначает степень многочлена (степень постоянного многочлена, значение которого всегда равно 0, может быть определена как отрицательная, так что это условие степени всегда будет действительным, когда это остаток). Более того, q ( x ) и r ( x ) однозначно определяются этими соотношениями.

Это отличается от евклидова деления целых чисел тем, что для целых чисел условие степени заменяется границами остатка r (неотрицательного и меньшего, чем делитель, что гарантирует r уникальность ). для целых чисел и для полиномов мотивирует поиск наиболее общей алгебраической ситуации, в которой справедливо евклидово деление. Кольца, для которых существует такая теорема, называются евклидовыми областями , но в этой общности уникальность фактора и остатка не гарантируется. [8]

Полиномиальное деление приводит к результату, известному как теорема об остатке полинома : если многочлен f ( x ) делится на x k , остаток представляет собой константу r = f ( k ). [9] [10]

См. также [ править ]

Примечания [ править ]

  1. ^ Смит 1958 , с. 97
  2. ^ Руда 1988 , с. 30. Но если остаток равен 0, он не положителен, хотя и называется «положительным остатком».
  3. ^ Руда 1988 , с. 32
  4. ^ Паскаль ISO 7185:1990 6.7.2.2
  5. ^ «6.5.5 Мультипликативные операторы». Спецификация C99 (ISO/IEC 9899:TC2) (PDF) (Отчет). 6 мая 2005 года . Проверено 16 августа 2018 г.
  6. ^ «Встроенные функции — документация Python 3.10.7» . 9 сентября 2022 г. Проверено 10 сентября 2022 г.
  7. ^ Ларсон и Хостетлер 2007 , с. 154
  8. ^ Ротман 2006 , с. 267
  9. ^ Ларсон и Хостетлер 2007 , с. 157
  10. ^ Вайсштейн, Эрик В. «Теорема о полиномиальном остатке» . mathworld.wolfram.com . Проверено 27 августа 2020 г.

Ссылки [ править ]

Дальнейшее чтение [ править ]

  • Давенпорт, Гарольд (1999). Высшая арифметика: введение в теорию чисел . Кембридж, Великобритания: Издательство Кембриджского университета. п. 25. ISBN  0-521-63446-6 .
  • Кац, Виктор, изд. (2007). Математика Египта, Месопотамии, Китая, Индии и ислама: справочник . Принстон: Издательство Принстонского университета. ISBN  9780691114859 .
  • Шварцман, Стивен (1994). «остаток (существительное)» . Слова математики: этимологический словарь математических терминов, используемых на английском языке . Вашингтон: Математическая ассоциация Америки. ISBN  9780883855119 .
  • Цукерман, Мартин М. (декабрь 1998 г.). Арифметика: простой подход . Лэнхэм, Мэриленд: ISBN Rowman & Littlefield Publishers, Inc.  0-912675-07-1 .