C语言,用泰勒公式计算e的x次方,输入3,输出20.086。输入-1,输出0.368
时间: 2024-12-02 09:13:41 浏览: 19
在C语言中,我们可以使用泰勒级数(Taylor series)来近似计算e的x次方。泰勒公式对于e^x有无限项表达式,最基础的形式就是:
e^x = 1 + x + (x^2 / 2!) + (x^3 / 3!) + ...
其中,n!表示n的阶乘。为了精确到特定精度,我们需要确定需要多少项。对于输入3和-1,我们只需要计算前几项就能得到接近的结果,因为e的指数不会太大。
以下是简单的C代码示例,用于计算e^x的近似值:
```c
#include <stdio.h>
#include <math.h>
double calculate_exponential(double x, int terms) {
double result = 1.0;
for (int i = 1; i <= terms; ++i) {
result += pow(x, i) / factorial(i);
}
return result;
}
// 计算阶乘的辅助函数
unsigned long long factorial(int n) {
unsigned long long fact = 1;
for (int i = 2; i <= n; ++i) {
fact *= i;
}
return fact;
}
int main() {
double input = 3;
double expected_output = 20.085536923187668; // 精确值
printf("e^%f = %.4f\n", input, calculate_exponential(input, 5)); // 使用5项泰勒级数
input = -1;
double expected_output_neg = 0.36787944117144233; // 精确值
printf("e^%f = %.4f\n", input, calculate_exponential(input, 5));
return 0;
}
```
请注意,这个程序会计算5项泰勒级数,实际结果可能因计算机浮点数的精度而略有差异。运行此程序将输出给定输入对应的近似值。
阅读全文