График функции «пол» (целая часть числа)
График функции «потолок»
В
математике
,
целая часть
вещественного числа
x
{\displaystyle x}
—
округление
x
{\displaystyle x}
до ближайшего
целого
в меньшую сторону. Целая часть числа также называется
антье
(
фр.
entier
), или
пол
(
англ.
floor
). Наряду с полом существует парная
функция
—
потолок
(
англ.
ceiling
) — округление
x
{\displaystyle x}
до ближайшего целого в большую сторону.
Обозначения и примеры
Впервые квадратные скобки (
[
x
]
{\displaystyle [x]}
) для обозначения целой части числа
x
{\displaystyle x}
использовал
Гаусс
в
1808 году
в своём доказательстве
закона квадратичной взаимности
. Это обозначение считалось стандартным
, пока
Кеннет Айверсон
в своей книге «
A Programming Language
», опубликованной в
1962 году
, не предложил
округление числа
x
{\displaystyle x}
до ближайшего целого в меньшую и большую стороны называть «пол» и «потолок»
x
{\displaystyle x}
и обозначать
⌊
x
⌋
{\displaystyle \lfloor x\rfloor }
и
⌈
x
⌉
{\displaystyle \lceil x\rceil }
соответственно.
В современной математике используются оба обозначения
,
[
x
]
{\displaystyle [x]}
и
⌊
x
⌋
{\displaystyle \lfloor x\rfloor }
, однако всё более и более преимущественно применяют терминологию и обозначения Айверсона: одна из причин состоит в том, что для отрицательных чисел понятие «целая часть числа» уже является неоднозначным
. Например, целая часть числа 2,7 равна 2, но на то, как определить целую часть числа −2,7, уже возможны две точки зрения: по определению, данному в этой статье,
[
x
]
≡
⌊
x
⌋
=
−
3
{\displaystyle [x]\equiv \lfloor x\rfloor =-3}
, однако в некоторых калькуляторах функция целой части INT для отрицательных чисел определяется как INT(–
x
) = –INT(
x
), так что INT(–2,7) = −2. Терминология Айверсона лишена этих недостатков:
⌊
2
,
7
⌋
=
2
,
⌊
−
2
,
7
⌋
=
−
3
,
⌈
2
,
7
⌉
=
3
,
⌈
−
2
,
7
⌉
=
−
2.
{\displaystyle {\begin{matrix}\lfloor 2{,}7\rfloor =2,&\lfloor -2{,}7\rfloor =-3,\\\lceil 2{,}7\rceil =3,&\lceil -2{,}7\rceil =-2.\end{matrix}}}
Определения
Функция
«пол»
⌊
⋅
⌋
:
x
↦
⌊
x
⌋
{\displaystyle \lfloor \cdot \rfloor \colon x\mapsto \lfloor x\rfloor }
определяется как наибольшее
целое
, меньшее или равное
x
{\displaystyle x}
:
⌊
x
⌋
=
max
{
n
∈
Z
∣
n
⩽
x
}
.
{\displaystyle \lfloor x\rfloor =\max\{n\in \mathbb {Z} \mid n\leqslant x\}.}
Функция «потолок»
⌈
⋅
⌉
:
x
↦
⌈
x
⌉
{\displaystyle \lceil \,\cdot \,\rceil \colon x\mapsto \lceil x\rceil }
— это наименьшее целое, большее или равное
x
{\displaystyle x}
:
⌈
x
⌉
=
min
{
n
∈
Z
∣
n
⩾
x
}
.
{\displaystyle \lceil x\rceil =\min\{n\in \mathbb {Z} \mid n\geqslant x\}.}
Эти определения
эквивалентны
следующим неравенствам (где
n
— целое число):
⌊
x
⌋
=
n
⟺
n
⩽
x
<
n
+
1
⟺
x
−
1
<
n
⩽
x
,
⌈
x
⌉
=
n
⟺
n
−
1
<
x
⩽
n
⟺
x
⩽
n
<
x
+
1.
{\displaystyle {\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}}}
Свойства
В формулах, записанных ниже, буквами
x
{\displaystyle x}
и
y
{\displaystyle y}
обозначены
вещественные числа
, а буквами
n
{\displaystyle n}
и
m
{\displaystyle m}
—
целые
.
Пол и потолок как функции вещественной переменной
Функции пол и потолок отображают множество вещественных чисел в множество целых чисел:
⌊
⋅
⌋
:
R
→
Z
,
⌈
⋅
⌉
:
R
→
Z
,
{\displaystyle \lfloor \,\cdot \,\rfloor \colon \mathbb {R} \to \mathbb {Z} ,\quad \lceil \,\cdot \,\rceil \colon \mathbb {R} \to \mathbb {Z} ,\quad }
Пол и потолок —
кусочно-постоянные функции
.
Функции пол и потолок
разрывны
: во всех целочисленных точках терпят
разрывы первого рода
со скачком, равным единице.
При этом функция пол является:
Функция потолок является:
Связь функций пол и потолок
Для произвольного числа
x
{\displaystyle x}
верно неравенство
⌊
x
⌋
⩽
x
⩽
⌈
x
⌉
{\displaystyle \lfloor x\rfloor \leqslant x\leqslant \lceil x\rceil }
Для целого
x
{\displaystyle x}
пол и потолок совпадают:
⌊
x
⌋
=
x
⟺
x
∈
Z
⟺
⌈
x
⌉
=
x
{\displaystyle \lfloor x\rfloor =x\quad \Longleftrightarrow \quad x\in \mathbb {Z} \quad \Longleftrightarrow \quad \lceil x\rceil =x}
Если
x
{\displaystyle x}
— не целое, то значение функции потолок на единицу больше значения функции пол:
⌈
x
⌉
−
⌊
x
⌋
=
{
1
,
x
∉
Z
0
,
x
∈
Z
{\displaystyle \lceil x\rceil -\lfloor x\rfloor ={\begin{cases}1,&x\notin \mathbb {Z} \\0,&x\in \mathbb {Z} \end{cases}}}
Функции пол и потолок являются
отражениями
друг друга от обеих осей:
⌊
−
x
⌋
=
−
⌈
x
⌉
,
⌈
−
x
⌉
=
−
⌊
x
⌋
{\displaystyle \lfloor -x\rfloor =-\lceil x\rceil ,\quad \lceil -x\rceil =-\lfloor x\rfloor }
Пол/потолок: неравенства
Любое неравенство между вещественным и целым числами равносильно неравенству с полом и потолком между целыми числами
:
n
⩽
x
⟺
n
⩽
⌊
x
⌋
x
⩽
n
⟺
⌈
x
⌉
⩽
n
n
<
x
⟺
n
<
⌈
x
⌉
x
<
n
⟺
⌊
x
⌋
<
n
{\displaystyle {\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}}}
Два верхних неравенства являются непосредственными следствиями определений пола и потолка, а два нижние — обращение верхних
от противного
.
Функции пол/потолок являются
монотонно возрастающими
функциями:
x
⩽
y
⇒
⌊
x
⌋
⩽
⌊
y
⌋
,
x
⩽
y
⇒
⌈
x
⌉
⩽
⌈
y
⌉
{\displaystyle x\leqslant y\Rightarrow \lfloor x\rfloor \leqslant \lfloor y\rfloor ,\quad x\leqslant y\Rightarrow \lceil x\rceil \leqslant \lceil y\rceil }
Пол/потолок: сложение
Целочисленное слагаемое можно вносить/выносить за скобки пола/потолка
:
⌊
x
+
n
⌋
=
⌊
x
⌋
+
n
,
⌈
x
+
n
⌉
=
⌈
x
⌉
+
n
{\displaystyle \lfloor x+n\rfloor =\lfloor x\rfloor +n,\quad \lceil x+n\rceil =\lceil x\rceil +n}
Предыдущие равенства, вообще говоря, не выполняются, если оба слагаемых — вещественные числа. Однако и в этом случае справедливы неравенства:
⌊
x
⌋
+
⌊
y
⌋
⩽
⌊
x
+
y
⌋
⩽
⌊
x
⌋
+
⌊
y
⌋
+
1
,
⌈
x
⌉
+
⌈
y
⌉
−
1
⩽
⌈
x
+
y
⌉
⩽
⌈
x
⌉
+
⌈
y
⌉
{\displaystyle \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 }
Пол/потолок под знаком функции
Имеет место следующее предложение:
Пусть
f
(
x
)
{\displaystyle f(x)}
—
непрерывная
монотонно возрастающая
функция, определенная на некотором
промежутке
, обладающая свойством:
f
(
x
)
∈
Z
⇒
x
∈
Z
{\displaystyle f(x)\in \mathbb {Z} \Rightarrow x\in \mathbb {Z} }
Тогда
⌊
f
(
x
)
⌋
=
⌊
f
(
⌊
x
⌋
)
⌋
,
⌈
f
(
x
)
⌉
=
⌈
f
(
⌈
x
⌉
)
⌉
{\displaystyle \lfloor f(x)\rfloor =\lfloor f(\lfloor x\rfloor )\rfloor ,\quad \lceil f(x)\rceil =\lceil f(\lceil x\rceil )\rceil }
всякий раз, когда определены
f
(
x
)
,
f
(
⌊
x
⌋
)
,
f
(
⌈
x
⌉
)
{\displaystyle f(x),f(\lfloor x\rfloor ),f(\lceil x\rceil )}
.
В частности,
⌊
x
+
m
n
⌋
=
⌊
⌊
x
⌋
+
m
n
⌋
,
⌈
x
+
m
n
⌉
=
⌈
⌈
x
⌉
+
m
n
⌉
{\displaystyle \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 }
если
m
{\displaystyle m}
и
n
{\displaystyle n}
— целые числа, и
n
>
0
{\displaystyle n>0}
.
Пол/потолок: суммы
Если
m
,
n
{\displaystyle m,n}
— целые числа,
m
>
0
{\displaystyle m>0}
, то
n
=
⌊
n
m
⌋
+
⌊
n
+
1
m
⌋
+
⋯
+
⌊
n
+
m
−
1
m
⌋
{\displaystyle 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 }
Вообще, если
x
{\displaystyle x}
— произвольное вещественное число, а
m
{\displaystyle m}
— целое положительное, то
⌊
m
x
⌋
=
⌊
x
⌋
+
⌊
x
+
1
m
⌋
+
⋯
+
⌊
x
+
m
−
1
m
⌋
{\displaystyle \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 }
Имеет место более общее соотношение
:
∑
0
⩽
k
<
m
⌊
n
k
+
x
m
⌋
=
d
⌊
x
d
⌋
+
(
m
−
1
)
(
n
−
1
)
2
+
d
−
1
2
,
d
=
(
m
,
n
)
{\displaystyle \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)}
Так как правая часть этого равенства симметрична относительно
m
{\displaystyle m}
и
n
{\displaystyle n}
, то справедлив следующий
закон взаимности
:
∑
0
⩽
k
<
m
⌊
n
k
+
x
m
⌋
=
∑
0
⩽
k
<
n
⌊
m
k
+
x
n
⌋
,
m
,
n
>
0
{\displaystyle \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}
Разложимость в ряд
Тривиальным образом функция антье раскладывается в ряд с помощью
функции Хевисайда
:
[
x
]
=
∑
n
=
−
∞
+
∞
n
(
θ
(
x
−
n
)
−
θ
(
x
−
n
−
1
)
)
,
{\displaystyle [x]=\sum _{n=-\infty }^{+\infty }n\left(\theta (x-n)-\theta (x-n-1)\right),}
где каждое слагаемое
ряда
создаёт характерные «
ступеньки
» функции. Этот
ряд
сходится абсолютно
, однако ошибочное преобразование его слагаемых может привести к «упрощённому» ряду
∑
n
=
−
∞
+
∞
θ
(
x
−
n
)
,
{\displaystyle \sum _{n=-\infty }^{+\infty }\theta \left(x-n\right),}
который
расходится
.
Применение
Целочисленные функции пол/потолок находят широкое применение в
дискретной математике
и
теории чисел
. Ниже приведены некоторые примеры использования этих функций.
Количество цифр в записи числа
Количество цифр в записи целого положительного числа в
позиционной системе счисления
с основанием
b
равно
⌊
log
b
n
⌋
+
1
{\displaystyle \lfloor \log _{b}n\rfloor +1}
Округление
Ближайшее к
x
{\displaystyle x}
целое число может быть определено по формуле
(
x
)
=
⌊
x
+
0
,
5
⌋
{\displaystyle (x)=\lfloor x+0{,}5\rfloor }
Бинарная операция mod
Операция «остаток по модулю», обозначаемая
x
mod
y
{\displaystyle x{\bmod {y}}}
, может быть определена с помощью функции пола следующим образом. Если
x
,
y
{\displaystyle x,y}
— произвольные вещественные числа, и
y
≠
0
{\displaystyle y\neq 0}
, то
неполное частное
от деления
x
{\displaystyle x}
на
y
{\displaystyle y}
равно
⌊
x
/
y
⌋
{\displaystyle \lfloor x/y\rfloor }
,
а
остаток
x
mod
y
=
x
−
y
⌊
x
/
y
⌋
{\displaystyle x\,{\bmod {\,}}y=x-y\lfloor x/y\rfloor }
Дробная часть
Дробная часть вещественного числа
x
{\displaystyle x}
по определению равна
{
x
}
=
x
mod
1
=
x
−
⌊
x
⌋
{\displaystyle \{x\}=x\,{\bmod {\,}}1=x-\lfloor x\rfloor }
Количество целых точек промежутка
Требуется найти количество целых точек в
замкнутом промежутке
с концами
α
{\displaystyle \alpha }
и
β
{\displaystyle \beta }
, то есть количество целых чисел
n
{\displaystyle n}
, удовлетворяющий неравенству
α
⩽
n
⩽
β
{\displaystyle \alpha \leqslant n\leqslant \beta }
В силу свойств пол/потолка, это неравенство равносильно
⌈
α
⌉
⩽
n
⩽
⌊
β
⌋
{\displaystyle \lceil \alpha \rceil \leqslant n\leqslant \lfloor \beta \rfloor }
.
Это есть число точек в замкнутом промежутке с концами
⌈
α
⌉
{\displaystyle \lceil \alpha \rceil }
и
⌊
β
⌋
{\displaystyle \lfloor \beta \rfloor }
, равное
⌊
β
⌋
−
⌈
α
⌉
+
1
{\displaystyle \lfloor \beta \rfloor -\lceil \alpha \rceil +1}
.
Аналогично можно подсчитать количество целых точек в других типах
промежутков
. Сводка результатов приведена ниже
.
#
{
n
∈
Z
:
α
⩽
n
⩽
β
}
=
⌊
β
⌋
−
⌈
α
⌉
+
1
{\displaystyle \#\{n\in \mathbb {Z} \colon \alpha \leqslant n\leqslant \beta \}=\lfloor \beta \rfloor -\lceil \alpha \rceil +1}
#
{
n
∈
Z
:
α
⩽
n
<
β
}
=
⌈
β
⌉
−
⌈
α
⌉
{\displaystyle \#\{n\in \mathbb {Z} \colon \alpha \leqslant n<\beta \}=\lceil \beta \rceil -\lceil \alpha \rceil }
#
{
n
∈
Z
:
α
<
n
⩽
β
}
=
⌊
β
⌋
−
⌊
α
⌋
{\displaystyle \#\{n\in \mathbb {Z} \colon \alpha <n\leqslant \beta \}=\lfloor \beta \rfloor -\lfloor \alpha \rfloor }
#
{
n
∈
Z
:
α
<
n
<
β
}
=
⌈
β
⌉
−
⌊
α
⌋
−
1
{\displaystyle \#\{n\in \mathbb {Z} \colon \alpha <n<\beta \}=\lceil \beta \rceil -\lfloor \alpha \rfloor -1}
(Через
#
M
{\displaystyle \#M}
обозначена
мощность множества
M
{\displaystyle M}
)
.
Первые три результата справедливы при всех
α
⩽
β
{\displaystyle \alpha \leqslant \beta }
, а четвёртый — только при
α
<
β
{\displaystyle \alpha <\beta }
.
Теорема Рэлея о спектре
Пусть
α
{\displaystyle \alpha }
и
β
{\displaystyle \beta }
— положительные
иррациональные числа
, связанные соотношением
1
α
+
1
β
=
1.
{\displaystyle {\frac {1}{\alpha }}+{\frac {1}{\beta }}=1.}
Тогда в ряду чисел
⌊
α
⌋
,
⌊
β
⌋
,
⌊
2
α
⌋
,
⌊
2
β
⌋
,
…
,
⌊
m
α
⌋
,
⌊
m
β
⌋
,
…
{\displaystyle \lfloor \alpha \rfloor ,\lfloor \beta \rfloor ,\lfloor 2\alpha \rfloor ,\lfloor 2\beta \rfloor ,\ldots ,\lfloor m\alpha \rfloor ,\lfloor m\beta \rfloor ,\ldots }
каждое
натуральное
n
∈
N
{\displaystyle n\in \mathbb {N} }
встречается в точности один раз.
Иными словами, последовательности
{
m
α
∣
m
∈
N
}
{\displaystyle \{m\alpha \mid m\in \mathbb {N} \}}
и
{
m
β
∣
m
∈
N
}
{\displaystyle \{m\beta \mid m\in \mathbb {N} \}}
,
называемые
последовательностями Битти
, образуют разбиение натурального ряда.
В информатике
В языках программирования
Во многих
языках программирования
существуют встроенные функции пола/потолка
floor(), ceil()
.
В системах вёрстки
В
TeX
(и
LaTeX
) для символов пола/потолка
⌊
{\displaystyle \lfloor }
,
⌋
{\displaystyle \rfloor }
,
⌈
{\displaystyle \lceil }
,
⌉
{\displaystyle \rceil }
существуют специальные команды:
\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.
↑
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 88.
Weisstein, Eric W.
(англ.)
на сайте Wolfram
MathWorld
.
↑
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 90.
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 89.
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 90-91.
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 93.
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 108.
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 112-117.
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 91.
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 95-96.
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. — С. 99-100.
А. Баабабов.
//
Квант
. — 1999. —
№ 4
. —
С. 36-38
.
22 июля 2014 года.
См. также
Литература
Р. Грэхем, Д. Кнут, О. Паташник.
Конкретная математика. —
М.
: «Мир», 1998. — 703 с. —
ISBN 5-03-001793-3
.
М. К. Потапов, В. В. Александров, П. И. Пасиченко.
Алгебра и начала анализа. — АО Столетие, 1996.