#include<bits/stdc++.h> using namespace std; double x; int k; double jc(int k){ double s = 1; for(int i = 1;i<=k;i++){ s*=i; } return s; } int main(){ cin>>x; double sum = 1; if(x==0){ printf("%.4f",sum); return 0; } int i = 1; while((pow(x,i)/jc(i))>=0.00001){ sum+=pow(x,i)/jc(i); i++; } printf("%.4f",sum); return 0; }
时间: 2024-01-14 13:04:59 浏览: 34
这段代码的功能是计算 e^x 的值,其中 e ≈ 2.71828。以下是几个优化建议:
1. 不需要使用 <bits/stdc++.h> 头文件,只需要包含需要使用的标准头文件即可。
2. 不需要使用全局变量 k。
3. 可以使用循环计算阶乘,而不是每次都重新计算。这样可以减少重复计算,提高效率。
4. 可以使用累加器代替每次更新 sum。
5. 在 while 循环中,可以将 i 的初值设为 0,这样可以避免在循环中先判断一次条件,再进行计算。
下面是优化后的代码:
```
#include <iostream>
#include <cmath>
using namespace std;
double jc(int k) {
double s = 1;
for (int i = 2; i <= k; i++) {
s *= i;
}
return s;
}
int main() {
double x, sum = 1;
cin >> x;
if (x == 0) {
printf("%.4f", sum);
return 0;
}
double term = x;
int i = 1;
while (fabs(term) >= 0.00001) {
sum += term;
term *= x / i;
i++;
}
printf("%.4f", sum);
return 0;
}
```
这个版本的代码可以提高效率,减少重复计算。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![h](https://img-home.csdnimg.cn/images/20210720083646.png)
![h](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)