gpt4 book ai didi

java - 数组、整数和数组的和

转载 作者:行者123 更新时间:2023-12-01 08:02:43 27 4
gpt4 key购买 nike

问题:编写一个方法,以两个整数n和m为参数,并返回从n(包括n)到m(包括m)的所有数字(数字数组)的和。

public int getSum(int n, int m){
this.n = n;
this.m = m;
int [] x = {n,m};
int result = 0;
for(int i=0; i<x.length; i++){
result += x[i];
}
return result;
}

如果n=1且m=4该方法返回5,但该方法需要返回10,(1,2,3,4)=(1+2+3+4)。猜猜这条线不对int [] x = {n,m};因为如果 n=1 且 m=4,则数组将为 {1,4}。如何解决这个问题,如果n=1且m=4,需要创建数组{1,2,3,4}

最佳答案

试试这个:

public int getSum(int n, int m){
int result = 0;
for(int i = n;i <= m;i++)
result += i;
return result;
}

或者这个:

public int getSum(int n, int m){
int result = 0;
while(n <= m)
result += n++;

return result;
}

或者也许用有趣的数学:

public int getSum(int n, int m){
return (m*(m+1)/2) - ((n-1)*((n-1)+1)/2)
}

F(n) = (n*(n+1)/2) = 0+1+2+...+n
F(m) - F(n-1) = n + n+1 + n+2 + ... + m

关于java - 数组、整数和数组的和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24041461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com