我已经计算了 for 循环范围的总和,但是我不知道如何计算并为我的解决方案求平均值。 必须在没有任何如果的情况下完成它。只是 For 循环:
//defining the variables
// Constants & Variables here
int i;
int numStart;
int numEnd;
double sum = 0;
double average=0;
double loopCount=0;
System.out.print("Enter Start number: "); // keep print line open
numStart = console.nextInt();
System.out.print("Enter End number: ");
numEnd = console.nextInt();
//enter thevalue
for (i = numStart; i <= numEnd; i++ )
{
sum = sum + i;
loopCount = numEnd - numStart;
average = sum+1 / i;
}
System.out.println();
System.out.println( "Sum is: " + sum);
System.out.println();
System.out.println( "Average is: " + average);
System.out.println();
最佳答案
为什么还要使用for
循环。感谢高斯,我们知道 [1 , n]
范围内所有元素的总和为 n * (n + 1)/2
。范围内的整数数量就是numEnd - numStart + 1
,平均值是范围内所有整数的总和除以范围内的整数数量。
因此优化的解决方案如下所示:
...
//got numStart and numEnd
int sum = numEnd * (numEnd + 1) / 2 - (numStart - 1) * numStart / 2;
int count = numEnd - numStart + 1;
average = sum / count;
关于java for 循环总和与范围平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32920579/