在《数据结构与算法分析:C++描述》中看到个证明题:
证 logx<x 对所有 x>0 成立。(在计算机科学中,默认所有的对数都是以2为底的,除非另有说明)
采用赋值y、求导什么的都不成功,最后看了答案,作者机智地用了归纳法和递推,顺便也复习了一下导数、对数方面的知识。还特意试了Markdown编辑器哈哈~
目录
证 logx小于x 对所有 x大于0 成立
因为底数为2,
(logx)′=1xln2,x>0,ln2>0
,所以
logx
单调递增。
1. 如果
0<x≤1
,
当
x=1
时,
logx=0<1
,命题成立;
当
0<x<1
时,由于logx单调递增,所以
logx<0
,而
x>0
,命题成立;
2. 如果
1<x≤2
,
当
x=2
时,
logx=1<2
,命题成立;
当
1<x<2
时,由于logx单调递增,所以
logx<1
,而
x>1
,命题成立;
3. 如果
x>2
,
现在假定对于正整数
p(p≥1)
,对于
p<x≤2p
命题成立,现在证明对于
2p<y≤4p
命题也成立。
(其实就是要两倍关系递推,证明
logy<y
在这种情况下成立)
logy=log(2y2)=log2(y2)=log2+log(y2)=1+log(y2)
因为
2p<y≤4p
,所以
p<y2≤2p
,所以
logy2<y/2
,所以
1+logy2<1+y2
;
因为p为正整数,p≥1,而y>2p,所以y>2,所以
y2
≥1;
所以
1+y2<y2+y2=y
;
又
logy<1+y2
,所以
logy<y
成立。
综上,对于所有的 x>0 , logx>x 成立,命题得证。
总结,常见对数
以上主要采用了归纳法和两倍关系递推,作者实在高明。对于个人而言,比较难想到的两倍关系递推和logy的拆分,主要要对logAB=logA+logB,log1=0,log2=1熟悉,下面记录一下常见的对数公式;
- 基本定义: Xa=Y ,当且仅当 logXY=a ;(在计算机科学中,默认所有的对数都是以2为底的,除非另有声明)
- logAB = (logcBlogcA) , A, B, C>0, A≠1;
- logAB=logA+logB, A, B>0
- log(AB)=logA−logB
- logAB=BlogA
- logx<x 对所有 x>0 成立
- log1=0
- log2=1
- log1024=10
- log1048576=20
导数概念及基本公式
- 导数:变化率
- 一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。
- 单调性:如果函数的导函数在某一区间内恒大于0(或恒小于0),那么函数在这一区间内单调递增(或单调递减),这种区间也称为函数的单调区间。
- 导函数等于0的点称为函数的驻点(或极值可疑点),在这类点上函数可能会取得最大值或最小值。
导数基本公式
名称 | 公式 | 典例 |
---|---|---|
常数 | c′=0 | |
指数 | (xa)′=axa−1 | (x)′=1 |
对数 | ( logax)′=(1xlna) | ( lnx)′=(1x) |
正弦函数 | (sinx)′=cosx | |
余弦函数 | (cosx)′=−sinx | |
加减复合函数 | [u(x)+v(x)]′=u′(x)±v′(x) | |
乘法复合函数 | [u(x)∗v(x)]′=u′(x)v(x)+u(x)v′(x) | |
除法复合函数 | [u(x)v(x)]′=[u′(x)v(x)−u(x)v′(x)v2(x)]′ (v(x)≠0) |
参考链接:
[1]: 证明 logX < X 对所有 X > 0 成立.
[2]: 维基百科:导数
第一次用markdown编辑器,感觉好好用~~:)——Dandelion_Miss