如何在java中计算e^{(-x)^2}?

如何在java中计算e^{(-x)^2}?,java,exponent,Java,Exponent,在Allen B.Downey的《思考Java》中,我被问题7.6困住了。该问题要求在不使用阶乘或指数函数的情况下计算e^{(-x)^2}。我得到了x=2的代码,但没有其他数字 public static double gauss2(double x, double n) { double i = 2; double count = n; double num = 1; while (i <= n){ num = ((x*x)/(i - 1

在Allen B.Downey的《思考Java》中,我被问题7.6困住了。该问题要求在不使用阶乘或指数函数的情况下计算
e^{(-x)^2}
。我得到了x=2的代码,但没有其他数字

public static double gauss2(double x, double n) {
    double i = 2;
    double count = n;
    double num = 1;

    while (i <= n){
        num = ((x*x)/(i - 1))*num;
        i = i + 1;  
    }

    if (n == 1) {
        return 1;
    }
    else if (n%2 == 0) {
        return num*(-1) + gauss2(x,n-1);
    }
    else {
        return num + gauss2(x, n-1);
    }
公共静态双高斯2(双x,双n){
双i=2;
重复计数=n;
双数=1;
而(i是有用的。它是这样的:

ex=∑{n=0到∞} (xn/n!)

因此,获得近似结果的一些简单代码是:

公共最终类指数{
私有静态最终整数迭代=32;
公共静态最终双经验(最终双x){
双功率=1.0;
双因子=1.0;
双结果=1.0;

对于(int n=1;n“不工作”是什么意思?首先要注意的是
(-x)^2==x*x