Русская Википедия:Целая часть
В математике, целая часть вещественного числа <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().
В системах вёрстки
В TeX (и LaTeX) для символов пола/потолка <math>\lfloor</math>, <math>\rfloor</math>, <math>\lceil</math>, <math>\rceil</math> существуют специальные команды: \lfloor, \rfloor, \lceil, \rceil. Поскольку wiki использует LaTeX для набора математических формул, то и в данной статье использованы именно эти команды.
Примечания
См. также
Литература
- ↑ Lemmermeyer, pp. 10, 23.
- ↑ Обозначение Гаусса использовали Cassels, Hardy & Wright и Ribenboim. Graham, Knuth & Patashnik и Crandall & Pomerance использовали обозначение Айверсона.
- ↑ Iverson, p. 12.
- ↑ Higham, p. 25.
- ↑ 5,0 5,1 Шаблон:Книга
- ↑ Шаблон:MathWorld
- ↑ 7,0 7,1 Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Шаблон:Статья