Permalink
Browse files

Update 判断语句有多少种替代方法.md

修正数学公式
  • Loading branch information...
Hypercube
Hypercube committed Jan 30, 2017
1 parent 641467f commit 8a18bda562e7fff31e07d34b1fdf0dd0628c7b80
Showing with 2 additions and 4 deletions.
  1. +2 −4 判断语句有多少种替代方法.md
@@ -115,10 +115,8 @@ C标准规定,`&&`和`||`运算符必须先对左侧的表达式求值,如
根据`array[n]==-1`的值的不同,`printf`的第一个参数可能是`"%d\n"`也可能是`""`,而如果是后一种情况,多余的第二个参数会被忽略,不起作用。这看似是一种怪异的“奇技淫巧”,不过却隐含了一个道理:纯粹使用数学运算就能写出条件判断。曾经高中时有同学固执地认为“分段函数定义时根据x所在的区间进行了判断,只用公式是做不到这一点的。分段函数是一种不正常的,和公式定义的函数截然不同的函数”。作为反驳,我找到了这种只使用数学运算就能构造出分段函数的方法。以该分段函数为例:
(由于博客迁移,暂未配置好数学公式插件)
\\[ f(x) = \begin{cases} 1-x^2 & x<3 \\\\ x+5 & x>3 \end{cases} \\]
\[f(x)=\begin{cases}1-x^2&x<3\\x+5&x>3\end{cases}\]
\[f(x)=\frac{6+x-x^2}{2}+\frac{x-3}{|x-3|}\,\frac{4+x+x^2}{2}\]
\\[ f(x) = \frac{6+x-x^2}{2} + \frac{x-3}{|x-3|} \, \frac{4+x+x^2}{2} \\]
美中不足的是,这样产生的是定义域不完整的函数。毕竟,分段函数常常是不连续函数,不连续函数和连续函数还是有本质区别的,一般数学运算能构造出的都是连续函数。但在计算机领域,要处理的数字本来就是离散的,这种方法就没有缺陷了。

0 comments on commit 8a18bda

Please sign in to comment.