use*_*676 -3 java loops while-loop
int x = -1;
int y = 0;
while(x<100)
{
x++;
y+=x;
System.out.println(y);
}
Run Code Online (Sandbox Code Playgroud)
使用 while 循环求 0 到 100 之间所有整数的总和
我已经泄露了这段代码,它给了我一个数字 5050,我不确定它是否正确。
0从到 的数字之和的公式n为n * (n + 1) / 2。通过将序列对折很容易证明,如下所示:
0 1 2 3 4 ...
n n-1 n-2 n-3 n-4 ...
Run Code Online (Sandbox Code Playgroud)
观察每对加起来为n,并且存在(n+1)/2这样的对。[1]
使用公式n=100我们得到100*101/2=5050,所以是的,你的答案是正确的。
或者,您可以让 Wolfram Alpha 为您完成这项工作:http://www.wolframalpha.com/input/ ?i=sum+k+for+k+from+0+to+100
就您的代码而言,可以使用for循环代替 来更明确地表达该算法while(或者您可以只使用上面的公式并完全避免循环)。
[1] 严格来说,我们必须n分别处理奇数和偶数,但我稍微简化了一些。