我必須使用一個靜態方法TotalAverage(int n)
來計算數字0 + 1 + 2 + .... + n的平均數字總數。因此總平均數(19)將被計算爲(0 + 1 + ... + 9 + 1 + ... + 10)/ 20.0。我設法做它用下面的代碼大部分:給定整數的平均數字總和是多少?
public static double TotalAverage(int n) {
double total = 0;
int count = 0;
while (n >= 0) {
total += n % 10;
n = n - 1;
count++;
}
return total/count;
}
它適用於人數達到9,但我得到了更大的數字不正確的結果。我意識到,一旦while語句達到10%10,它將總數增加0而不是10,但我無法弄清楚如何正確執行。
提示:從0到n的值之和等於(n^2 + n)/ 2。這消除了循環的需要。 – Makoto
問題是我不需要計算19 + 18 + 17 + 16 + ... + 0,但是以問題中所包含的方式。 – jack
@jack從您的描述中不清楚應該發生什麼,也許你應該添加一個更大數字的細節,如:totalAverage(33) – dan