【问题标题】:algorithm for the sum of integer peer from n to n [closed]从n到n的整数对等体总和的算法[关闭]
【发布时间】:2018-11-14 12:37:06
【问题描述】:

我知道如何从 1 到 n,但从 n1 到 n2 我找不到算法。例如:n1=10 和 n2=14 答案是 36 或 n1=10 和 n2=6 答案是 24。

【问题讨论】:

  • 从1到n你是怎么做的?你能至少证明一下吗?
  • 您只是想要一个非包容性的添加吗?即对于 n1 = 10 和 n2 = 14 你只想添加 11 + 12 + 13?
  • 如果你知道如何从1n,你就已经知道如何实现n1n2的有限情况了。这是n1=1; n2=n的情况。
  • 什么是“整数对等体的总和”?什么是“整数对等体”?
  • 有人能解释一下吗?

标签: algorithm sum


【解决方案1】:

对于 1 到 n,公式是 sum =n(n+1)/2 ,所以从 n1n2 您必须计算 n1-1 项的总和和 n2 项的总和,然后减去。

sum_of_n1_to_n2 = n2(n2+1)/2  - (n1-1)((n1-1) +1)/2;

【讨论】:

  • 从1到n我用这个(n/2)x((n/2)+1)
  • @AliAtas 是的,两者都是一样的。你和我的。简化它
  • 哦,我现在明白了,非常感谢
  • 我如何处理偶数?从 n 到 n
  • @AliAtas 我没有得到你想说的?
【解决方案2】:

如果你知道如何从 1 到 n 求和,即n * (n+1) / 2,那已经很好了。

然后只需将差值添加到 n1。

int sumOfRange(int n1, int n2) {
  int n = n2 - n1;
  int triangle = n * (n + 1) / 2;
  int rectangle = n1 * n;
  return triangle + rectangle;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-25
    • 2017-05-15
    • 2011-02-07
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    相关资源
    最近更新 更多