几何级数的错误解

时间:2019-11-16 12:11:14

标签: java

from 0to15 and q=0.1

所以我试图在Java程序中实现这个数学问题,我找到了解决方案,但这有点不对。解决方案应该是1.111111111111111,但是我的解决方案是

我的代码如下:


{
    public static void main(String[]args)
    {
        double q=0.1;
        double n=1;
        for(double i=0; i<15; i++)
        {
            n+=q;

        }
        System.out.print(n);
    }
}

2 个答案:

答案 0 :(得分:0)

类似这样的东西:

#include <signal.h>

volatile sig_atomic_t x = 0;

void sigfpe_handler(int signum) {
    x = 5;

  // Notice that there is no exit()
}

int main() {
    signal(SIGFPE, sigfpe_handler);
    x = 10 / x;
    return 0;
}

这是系列public static void main(String[]args) { double q=0.1; double n=1; for(int i=0; i<15; i++){ n+=q/(Math.pow(10, i)); } System.out.print(n); }

编辑:我也应该是int,因为k是int序列,以便尽可能减少错误

答案 1 :(得分:0)

您的代码未遵循几何级数和。您需要通过将幂从0递增到N(其中N是限制)来添加所有项目。这是从0到15的16个元素系列的解决方案。

public static void main(String[] args) {
    double q=0.1;
    double answer = 0.0;
    int N = 15;
    for(double i=0; i<=N; i++)
    {
        answer += Math.pow(q, i);

    }
    System.out.print(answer);
}