[具体数学]第三章·整值函数
第三章·整值函数分5节,包括底和顶的相关知识以及取模运算。底和顶(即取整函数)在许多问题以及编程中经常用到,很重要。
底和顶及其应用
性质:
反射律:
互相转化:对
显然,
分数部分:
常用法则
常用法则:取整函数等式与不等式之间的转化
上述法则很简单很显然,但是也很重要,证明的时候可以用来把取整符号去掉。
常用法则:实数和整数之间的任何不等式都等价于整数之间的一个有关取整函数的不等式。
上述法则很容易证明,也很重要。
一个非常有用的定理
设
为什么说这个定理很有用呢?它可以推导出:
这是取 得到的结果。进一步特殊化,有: 这一点在写代码的时候很有用啊。比如在推导一些数论函数的题的时候,就会经常遇到上述式子。 另外,如果我们取
,可以知道:
区间内整数个数
区间 | 整数个数 | 限制条件 |
---|---|---|
来看一个例子
求:
常用法则
中的不等式在上述证明中起到了关键的作用,否则我们无法很好地处理向下取整。
谱
定义实数
没有两个实数的谱相等。
证明:假设
,则必定存在 使得 ,则 ,故 ,它们的谱在 处不相等。 和 给出了正整数的一个划分当且仅当 均是无理数且 . (例如 和 给出了正整数的一个划分)证:充分性:只需要证明对于任意的
, 中 的元素个数 和 中 的元素个数 之和为 即可。 可如下求得: 于是 (注:上面的证明多次用到了 和 必然是小数的条件。)必要性:若
是有理数,那么 也是有理数,把它们写成分数,设它们分子的最小公倍数为 ,那么二者的谱中都会出现 这个数,不能构成一个划分,故 均为无理数。此时, ,解得: . 证毕。
底和顶的递归式
高德纳数
证明或证伪:
一件很有趣的事情是,这个更强的结论容易归纳证明,但是原来更弱的结论却难以归纳证明。
如果我们尝试对原结论归纳,会有:
然而, 可以小到 (当 是奇数时), 可以小到 (当 时),所以我们只能得到: 不能归纳出结论。 这种现象在证明时还是比较常见的,即证明更强的结论反而更简单。数学之有趣大概于此。
再论约瑟夫问题
我们不从递归式,而是换一种角度思考约瑟夫问题。这里探究每隔
上面一段话没人想看,举个例子好了:
如何理解上述编号过程?想象两个指针一前一后的扫,前一个指针从
开始递增地、遇到一个数就赋值;后一个指针遇到 的倍数就把它删掉(删掉的数不被第一个指针赋值)。于是乎,当一个数被赋值为 的倍数时,它就被敲响了丧钟。
对于编号
:二元运算
定义
注意上述定义中,
特殊定义:
里, \bmod
能像其他二元运算符一样打出一个漂亮的,而如果直接用 \mod
前后会有一大片空格。另外,同余式中用
\pmod
,它会自动在两边加上括号,例如:的代码是: x\equiv1\pmod m
.
务必注意不同的编程语言中的模运算和数学语言的
可能会有差别。 例如:
而在 下:
1
2
3
4
5 % 3 = 2
5 % (-3) = 2
(-5) % 3 = -2
(-5) % (-3) = -2但是
下与数学语言又是一致的:
1
2
3
4
5
6
7
8
>>> 5%3
2
>>> 5%(-3)
-1
>>> (-5)%3
1
>>> (-5)%(-3)
-2
分配律
对
一个例子
把
答案很简单:前
如果问第
对应的,如果把原题改成不减,我们也可以得到一个恒等式:
底和顶的和式
我们不是很能直接处理取整函数,所以往往一个有效的技巧是引入变量来规避取整。
第一个例子
求
解:
因此,
第二个例子
接下来两个大坑先留着。。。