int x = -1;
int y = 0;
while(x<100)
{
x++;
y+=x;
System.out.println(y);
}
使用while循环查找0到100之间所有整数的总和
我已经给出了这个代码,它给了我5050的数字,我不确定它是否正确。
答案 0 :(得分:4)
0
到n
的数字之和的公式为n * (n + 1) / 2
。通过将序列折成两半就可以很容易地证明:
0 1 2 3 4 ...
n n-1 n-2 n-3 n-4 ...
观察每对加起来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
,但我简化了一点。
答案 1 :(得分:2)
是的,答案是对的。 0 + 1 + 2 + ... + 100 = 5050