【问题标题】:Method to calculate sum of product of two consecutive numbers计算两个连续数的乘积之和的方法
【发布时间】:2016-10-12 03:35:51
【问题描述】:

编写一个 Java 方法来计算以下总和: 2×3+3×4+4×5+...+97×98+98×99

或者更一般地说,从 i = 2 到 98 的 i*(i+1) 之和。

这可以通过递归还是仅使用 for/while 循环来完成?

【问题讨论】:

  • 书面并发送。请检查您的邮件。

标签: java methods arithmetic-expressions


【解决方案1】:

您有一个以每个数字(从 2 到 98)开头的产品,这相当简单。您需要做的就是遍历从 2 到 98 的所有数字(使用 for 循环),然后在此循环中,将 counter 变量和 counter 变量 + 1 的乘积添加到 sum 变量中,该变量在循环。

int sum = 0;

for (int i = 2; i < 98; i++) {
    sum += i * (i + 1)
}

只要你有一个重复的模式,你就可能不得不使用一个循环。

还有另一种方法:Sum i * (i + 1) 这与求和 i ^ 2 + i 相同,并且有前 n 个数字和前 n 个平方数之和的公式(更多关于 this question 中的那些) .当您添加到公式时,您会得到1/3 * n ^ 3 + n ^ 2 + 2/3 * n,它将为您提供前 n 个平方和前 n 个自然数相加的总和。然后,您可以将 n 设置为 98(如您的问题所示)并减去 2,因为您不是从 1 开始,而是从 2 开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 2020-08-11
    • 2020-12-19
    • 2015-12-15
    • 2017-05-13
    • 1970-01-01
    相关资源
    最近更新 更多