使用'while'指示总和的代码错误

时间:2019-06-10 19:02:12

标签: python

F(N)=从0到N(1 / n ^ 3)的sigma k

我编码为F(N + 1)-F(N)ᅵ<10 ^(-4)。但是代码无法解决问题所在。我将在下面附加代码,因此请指出是否出了问题。

N = 1

x = 1 / (10 ** 4)

y = 0
z = 0

while True:
  y += (1 / (N ** 3))
  z += (1 / (N + 1) ** 3)
  if abs(z - y) < x:
     break
  N += 1
print("(a) N = {N}".format(N=N))

未出现错误消息,并且仍在运行

1 个答案:

答案 0 :(得分:0)

我在循环中放入了一条print语句,看起来退出条件接近1,而不是零,因此循环永远不会终止。 (如果N> 20,我也说:最后插入以退出循环。)

public static int reverse(int A) {

    long aLong = Math.abs((long)A);
    long ret = 0;
    while (aLong != 0) {
        ret = ret * 10 + aLong % 10;
        aLong = aLong / 10;
    }
    if (A < 0) {
        ret = -ret;
    }

    if ((ret < Integer.MIN_VALUE) || (ret > Integer.MAX_VALUE)) {
        return 0;
    } else {
        return (int) ret;
    }