泰勒展开式
泰勒展开式
一、题目:
利用泰勒级数sin(x) = x - x^3/3! + x^5/5! - x^7/7! + x^9/9! …
计算sin(x) 的值。要求最后一项的绝对值小于10^(-5),并统计出此时累加了多少项。
二、代码实现
1 | |
觉得这个代码很优美,很好地运用了递推,再加上高中时候对泰勒展开式(比较大小题中)不是很熟,故记了一篇markdown
番外
- C语言中,我想表示: a=-a+1的递推,直接这么写在代码中是不是对的?
还是非要要写成这个吗?:
a=(-1)*a+1
在 C 语言中,a = -a + 1 这样的写法是完全正确的,和 a = (-1) * a + 1 是等价的,两者在逻辑和运算结果上没有任何区别。
C 语言的运算符优先级中,负号(-,单目运算符)的优先级高于加法(+)和乘法(*),因此 a = -a + 1 会被编译器自动解析为 a = (-a) + 1,即先计算 -a,再加上 1,这正是你需要的递推逻辑。
两种写法都可以正常工作,实际开发中更推荐 a = -a + 1,因为它更简洁直观,符合常规的数学表达习惯。
泰勒展开式
http://example.com/2025/11/16/泰勒展开式/