Русская Википедия:Целая часть

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Файл:Floor function.svg
График функции «пол» (целая часть числа)
Файл:Ceiling function.svg
График функции «потолок»

В математике, целая часть вещественного числа <math>x</math> — округление <math>x</math> до ближайшего целого в меньшую сторону. Целая часть числа также называется антье (Шаблон:Lang-fr), или пол (Шаблон:Lang-en). Наряду с полом существует парная функция — потолок (Шаблон:Lang-en) — округление <math>x</math> до ближайшего целого в большую сторону.

Обозначения и примеры

Впервые квадратные скобки (<math>[x]</math>) для обозначения целой части числа <math>x</math> использовал Гаусс в 1808 году в своём доказательстве закона квадратичной взаимности[1]. Это обозначение считалось стандартным[2], пока Кеннет Айверсон в своей книге «A Programming Language», опубликованной в 1962 году, не предложил[3][4][5] округление числа <math>x</math> до ближайшего целого в меньшую и большую стороны называть «пол» и «потолок» <math>x</math> и обозначать <math>\lfloor x \rfloor</math> и <math>\lceil x \rceil</math> соответственно.

В современной математике используются оба обозначения[6], <math>[x]</math> и <math>\lfloor x \rfloor</math>, однако всё более и более преимущественно применяют терминологию и обозначения Айверсона: одна из причин состоит в том, что для отрицательных чисел понятие «целая часть числа» уже является неоднозначным[5]. Например, целая часть числа 2,7 равна 2, но на то, как определить целую часть числа −2,7, уже возможны две точки зрения: по определению, данному в этой статье, <math>[x] \equiv \lfloor x \rfloor = -3</math>, однако в некоторых калькуляторах функция целой части INT для отрицательных чисел определяется как INT(–x) = –INT(x), так что INT(–2,7) = −2. Терминология Айверсона лишена этих недостатков:

<math>

\begin{matrix} \lfloor 2{,}7 \rfloor = 2, & \lfloor -2{,}7 \rfloor = -3, \\ \lceil 2{,}7 \rceil = 3, & \lceil -2{,}7 \rceil = -2. \end{matrix} </math>

Шаблон:Смотри также

Определения

Функция «пол» <math>\lfloor \cdot \rfloor\colon x \mapsto \lfloor x \rfloor</math> определяется как наибольшее целое, меньшее или равное <math>x</math>:

<math>\lfloor x \rfloor = \max\{ n \in \mathbb{Z} \mid n \leqslant x\}.</math>

Функция «потолок» <math>\lceil \, \cdot \, \rceil\colon x \mapsto \lceil x \rceil</math> — это наименьшее целое, большее или равное <math>x</math>:

<math>\lceil x \rceil = \min\{ n \in \mathbb{Z} \mid n \geqslant x\}.</math>

Эти определения эквивалентны следующим неравенствам (где n — целое число):[7]

<math>

\begin{matrix} \lfloor x \rfloor = n & \Longleftrightarrow & n \leqslant x < n+1 & \Longleftrightarrow & x-1 < n \leqslant x, \\ \lceil x \rceil = n & \Longleftrightarrow & n-1 < x \leqslant n & \Longleftrightarrow & x \leqslant n < x+1. \end{matrix} </math>

Свойства

В формулах, записанных ниже, буквами <math>x</math> и <math>y</math> обозначены вещественные числа, а буквами <math>n</math> и <math>m</math> — целые.

Пол и потолок как функции вещественной переменной

Функции пол и потолок отображают множество вещественных чисел в множество целых чисел:

<math>

\lfloor \, \cdot \, \rfloor\colon \mathbb{R} \to \mathbb{Z}, \quad \lceil \, \cdot \, \rceil\colon \mathbb{R} \to \mathbb{Z}, \quad </math>

Пол и потолок — кусочно-постоянные функции.

Функции пол и потолок разрывны: во всех целочисленных точках терпят разрывы первого рода со скачком, равным единице.

При этом функция пол является:

Функция потолок является:

Связь функций пол и потолок

Для произвольного числа <math>x</math> верно неравенство[8]

<math>\lfloor x \rfloor \leqslant x \leqslant \lceil x \rceil</math>

Для целого <math>x</math> пол и потолок совпадают:

<math>\lfloor x \rfloor = x \quad \Longleftrightarrow \quad x \in \mathbb{Z} \quad \Longleftrightarrow \quad \lceil x \rceil = x</math>

Если <math>x</math> — не целое, то значение функции потолок на единицу больше значения функции пол:

<math>

\lceil x \rceil - \lfloor x \rfloor = \begin{cases} 1, & x \notin \mathbb{Z} \\ 0, & x \in \mathbb{Z} \end{cases} </math>

Функции пол и потолок являются отражениями друг друга от обеих осей:

<math>\lfloor -x \rfloor = -\lceil x \rceil, \quad \lceil -x \rceil = -\lfloor x \rfloor</math>

Пол/потолок: неравенства

Любое неравенство между вещественным и целым числами равносильно неравенству с полом и потолком между целыми числами [7]:

<math>

\begin{matrix} n \leqslant x & \Longleftrightarrow & n \leqslant \lfloor x \rfloor & \qquad x \leqslant n & \Longleftrightarrow & \lceil x \rceil \leqslant n \\ n < x & \Longleftrightarrow & n < \lceil x \rceil & \qquad x < n & \Longleftrightarrow & \lfloor x \rfloor < n \end{matrix} </math> Два верхних неравенства являются непосредственными следствиями определений пола и потолка, а два нижние — обращение верхних от противного.

Функции пол/потолок являются монотонно возрастающими функциями:

<math>

x \leqslant y \Rightarrow \lfloor x \rfloor \leqslant \lfloor y \rfloor , \quad x \leqslant y \Rightarrow \lceil x \rceil \leqslant \lceil y \rceil </math>

Пол/потолок: сложение

Целочисленное слагаемое можно вносить/выносить за скобки пола/потолка [9]:

<math>\lfloor x + n \rfloor = \lfloor x \rfloor + n , \quad
        \lceil  x + n \rceil =  \lceil x  \rceil + n

</math>

Предыдущие равенства, вообще говоря, не выполняются, если оба слагаемых — вещественные числа. Однако и в этом случае справедливы неравенства:

<math>

\lfloor x \rfloor + \lfloor y \rfloor \leqslant \lfloor x + y \rfloor \leqslant \lfloor x \rfloor + \lfloor y \rfloor + 1 , \quad \lceil x \rceil + \lceil y \rceil - 1 \leqslant \lceil x + y \rceil \leqslant \lceil x \rceil + \lceil y \rceil </math>

Пол/потолок под знаком функции

Имеет место следующее предложение:[10]

Пусть <math>f(x)</math> — непрерывная монотонно возрастающая функция, определенная на некотором промежутке, обладающая свойством:

<math>f(x) \in \mathbb{Z} \Rightarrow x \in \mathbb{Z}</math>

Тогда

<math>

\lfloor f(x) \rfloor = \lfloor f(\lfloor x \rfloor) \rfloor, \quad \lceil f(x) \rceil = \lceil f(\lceil x \rceil) \rceil </math> всякий раз, когда определены <math>f(x), f(\lfloor x \rfloor), f(\lceil x \rceil)</math>.

В частности,

<math>

\left \lfloor \frac{x+m}{n} \right \rfloor = \left \lfloor \frac{\left \lfloor x \right \rfloor + m}{n} \right \rfloor ,\quad \left \lceil \frac{x+m}{n} \right \rceil = \left \lceil \frac{\left \lceil x \right \rceil + m}{n} \right \rceil </math> если <math>m</math> и <math>n</math> — целые числа, и <math>n>0</math>.

Пол/потолок: суммы

Если <math>m,n</math> — целые числа, <math>m>0</math>, то [11]

<math>n=\left\lfloor\frac{n}{m}\right\rfloor + \left\lfloor\frac{n+1}{m}\right\rfloor +\dots+\left\lfloor\frac{n+m-1}{m}\right\rfloor

</math>

Вообще, если <math>x</math> — произвольное вещественное число, а <math>m</math> — целое положительное, то

<math>\lfloor mx \rfloor=\left\lfloor x\right\rfloor + \left\lfloor x+\frac{1}{m}\right\rfloor +\dots+\left\lfloor x+\frac{m-1}{m}\right\rfloor

</math>

Имеет место более общее соотношение [12]:

<math>

\sum_{0 \leqslant k < m} \left \lfloor \frac{nk+x}{m} \right \rfloor = d \left \lfloor \frac{x}{d} \right \rfloor + \frac{(m-1)(n-1)}{2} + \frac{d-1}{2}, \quad d=(m,n) </math>

Так как правая часть этого равенства симметрична относительно <math>m</math> и <math>n</math>, то справедлив следующий закон взаимности:

<math>

\sum_{0 \leqslant k < m} \left \lfloor \frac{nk+x}{m} \right \rfloor = \sum_{0 \leqslant k < n} \left \lfloor \frac{mk+x}{n} \right \rfloor , \quad m, n>0 </math>

Разложимость в ряд

Тривиальным образом функция антье раскладывается в ряд с помощью функции Хевисайда:

<math>

[x]=\sum_{n=-\infty}^{+\infty}n\left(\theta(x-n)-\theta(x-n-1)\right), </math> где каждое слагаемое ряда создаёт характерные «ступеньки» функции. Этот ряд сходится абсолютно, однако ошибочное преобразование его слагаемых может привести к «упрощённому» ряду

<math>

\sum_{n=-\infty}^{+\infty}\theta\left(x-n\right), </math> который расходится.

Применение

Целочисленные функции пол/потолок находят широкое применение в дискретной математике и теории чисел. Ниже приведены некоторые примеры использования этих функций.

Количество цифр в записи числа

Количество цифр в записи целого положительного числа в позиционной системе счисления с основанием b равно [13]

<math>\lfloor \log_{b} n \rfloor + 1</math>

Округление

Шаблон:Main Ближайшее к <math>x</math> целое число может быть определено по формуле

<math>(x) = \lfloor x + 0{,}5\rfloor</math>

Бинарная операция mod

Шаблон:Main Операция «остаток по модулю», обозначаемая <math>x \bmod y</math>, может быть определена с помощью функции пола следующим образом. Если <math>x,y</math> — произвольные вещественные числа, и <math>y \neq 0</math>, то неполное частное от деления <math>x</math> на <math>y</math> равно

<math>\lfloor x/y \rfloor</math>,

а остаток

<math>x \, \bmod \, y = x - y \lfloor x/y \rfloor</math>

Дробная часть

Шаблон:Main Дробная часть вещественного числа <math>x</math> по определению равна

<math>\{x\} = x \, \bmod \, 1 = x - \lfloor x \rfloor</math>

Количество целых точек промежутка

Требуется найти количество целых точек в замкнутом промежутке с концами <math>\alpha</math> и <math>\beta</math>, то есть количество целых чисел <math>n</math>, удовлетворяющий неравенству

<math>\alpha \leqslant n \leqslant \beta</math>

В силу свойств пол/потолка, это неравенство равносильно

<math>\lceil \alpha \rceil \leqslant n \leqslant \lfloor \beta \rfloor</math>.

Это есть число точек в замкнутом промежутке с концами <math>\lceil \alpha \rceil</math> и <math>\lfloor \beta \rfloor</math>, равное <math>\lfloor \beta \rfloor - \lceil \alpha \rceil + 1</math>.

Аналогично можно подсчитать количество целых точек в других типах промежутков. Сводка результатов приведена ниже [14].

<math>

\#\{ n \in \mathbb{Z} \colon \alpha \leqslant n \leqslant \beta \} = \lfloor \beta \rfloor - \lceil \alpha \rceil + 1 </math>

<math>

\#\{ n \in \mathbb{Z} \colon \alpha \leqslant n < \beta \} = \lceil \beta \rceil - \lceil \alpha \rceil </math>

<math>

\#\{ n \in \mathbb{Z} \colon \alpha < n \leqslant \beta \} = \lfloor \beta \rfloor - \lfloor \alpha \rfloor </math>

<math>

\#\{ n \in \mathbb{Z} \colon \alpha < n < \beta \} = \lceil \beta \rceil - \lfloor \alpha \rfloor - 1 </math> (Через <math>\# M</math> обозначена мощность множества <math>M</math>).

Первые три результата справедливы при всех <math>\alpha \leqslant \beta</math>, а четвёртый — только при <math>\alpha < \beta</math>.

Теорема Рэлея о спектре

Пусть <math>\alpha</math> и <math>\beta</math> — положительные иррациональные числа, связанные соотношением [15]

<math>\frac {1} {\alpha} + \frac{1} {\beta} = 1.</math>

Тогда в ряду чисел

<math>\lfloor \alpha\rfloor, \lfloor \beta \rfloor, \lfloor 2\alpha\rfloor, \lfloor 2\beta \rfloor, \ldots, \lfloor m\alpha\rfloor, \lfloor m\beta \rfloor, \ldots</math>

каждое натуральное <math>n \in \mathbb{N}</math> встречается в точности один раз. Иными словами, последовательности

<math>\{m\alpha \mid m \in \mathbb{N}\}</math> и <math>\{m\beta \mid m \in \mathbb{N}\}</math>,

называемые последовательностями Битти, образуют разбиение натурального ряда.[16]

В информатике

В языках программирования

Во многих языках программирования существуют встроенные функции пола/потолка floor(), ceil().

В системах вёрстки

В TeXLaTeX) для символов пола/потолка <math>\lfloor</math>, <math>\rfloor</math>, <math>\lceil</math>, <math>\rceil</math> существуют специальные команды: \lfloor, \rfloor, \lceil, \rceil. Поскольку wiki использует LaTeX для набора математических формул, то и в данной статье использованы именно эти команды.

Примечания

Шаблон:Примечания

См. также

Литература

  1. Lemmermeyer, pp. 10, 23.
  2. Обозначение Гаусса использовали Cassels, Hardy & Wright и Ribenboim. Graham, Knuth & Patashnik и Crandall & Pomerance использовали обозначение Айверсона.
  3. Iverson, p. 12.
  4. Higham, p. 25.
  5. 5,0 5,1 Шаблон:Книга
  6. Шаблон:MathWorld
  7. 7,0 7,1 Шаблон:Книга
  8. Шаблон:Книга
  9. Шаблон:Книга
  10. Шаблон:Книга
  11. Шаблон:Книга
  12. Шаблон:Книга
  13. Шаблон:Книга
  14. Шаблон:Книга
  15. Шаблон:Книга
  16. Шаблон:Статья