Java 求给定区间的和?

Java 求给定区间的和?,java,Java,如何求给定区间的和? 例如,1到10或11到30的总和?又快又脏 int sum = 0; int start = 1; int end = 10 for(i=start; i<=end; i++){ sum += i; } int和=0; int start=1; int end=10 for(i=开始;i 或者你可以使用 如果要查找从1到N的数字之和 int summation = (N*N + N)/2; 其职能是: //computes summation from 1

如何求给定区间的和? 例如,1到10或11到30的总和?

又快又脏

int sum = 0;
int start = 1;
int end = 10
for(i=start; i<=end; i++){
    sum += i;
}
int和=0;
int start=1;
int end=10
for(i=开始;i
或者你可以使用

如果要查找从1到N的数字之和

int summation = (N*N + N)/2;
其职能是:

//computes summation from 1 to N
public int summation(int N){
    return (N*N+N)/2;
}
现在,为了求k和N的和,我们只需求出求和(N)
-
求和(k)



通常是
N*(first+last)/2

这似乎是一个家庭作业,我认为你是Java的初学者。那么我可以帮你做以下提示:

  • 您可以使用for循环,该循环将从第一个数字迭代到最后一个数字
  • 您可能有一个sum变量,它应该在for循环的每次迭代中增加
  • 每个Java程序应该至少有一个类,其中一个(而且只有一个)应该有一个主函数

  • 你的意思是整数之和?听起来像是一个家庭作业,到目前为止你都做了些什么。这篇维基百科文章提供了你需要的公式:答案涉及你头脑中可以做的简单数学。为什么你需要一个程序来做这件事?如果这确实是OP想要做的,那就太过分了。可以在O(1)中完成。是的,因此是快速而肮脏的(没有太多考虑)@Sherif的答案更深思熟虑!这不是很快。它需要6行代码。@AlexR解决方案是广义的,O(1)并且最容易编程。这是一行代码,buddy…
    for(i=1;isum=(elemets/2)*(开始+结束)更优雅,性能更好。无需循环。如果需要计算第n个元素的fibonachi数,可以使用简单的递归(即O(2^n))或使用定义良好的闭合公式(并立即得到n=10000的结果)+感谢你没有给出完整的答案。这提供了部分解决方案,但仍然迫使他们思考。这个解决方案在OP编辑后是无用的。他想要k到n,而不是1到n。哦,真的吗?我认为k到n是求和(n)-求和(k)?你认为如何?然后把它写在你的答案中。p.s.它的求和(n)-求和(k-1),您确实需要包括k。刚意识到这应该是一个提示,而不是一个答案。我收回我的评论。+1表示一般答案。完整细节和解释如下:
    
    int summation = (N*N + N)/2;
    
    //computes summation from 1 to N
    public int summation(int N){
        return (N*N+N)/2;
    }
    
    public int summation(int K, int N){
        return summation(N)-summation(K);
    }