【发布时间】:2023-03-17 21:21:01
【问题描述】:
问题基本上是在没有 Java 内置函数的情况下计算 e^x。 编码顺序是 e^x = 1+x+x2/2!+x3/3!+x4/4!+ ...
这是我对这个问题的尝试:
public static void myexp(double x, double i){
double j = 1.0;
double sum = x;
while (j <= i){
j = j + 1;
sum = sum + (sum * (x / (j)));
System.out.println(sum + 1 + x);
}
}
public static void main(String[] args) {
double x = 1;
double i = 5.0;
myexp(x, i);
}
现在它不起作用,最终我放弃并查看了模型答案应该是什么样的(我知道,我知道)。这是它的内容(以我的代码风格):
public static void myexp(double x, double i){
double j = 1.0;
double sum = x;
double result = 1.0;
while (j <= i){
j = j + 1;
sum = sum * (x / (j));
result = result + sum;
System.out.println(result + x);
}
}
现在不同的是包含了“结果”变量,它描述了序列的总和。但是,我以为我在写的时候已经合并了
“sum = sum+(sum*(x/(j)));”。
但是机器可以识别一种风格而不是另一种。什么给了?
【问题讨论】:
-
这不是风格差异,您只是在进行根本不同的计算。
-
是的:
sum不再是和(result是)。