(PHP语言 - 这个问题适用于任何语言,特别是我使用的是PHP) 例如,您有一组数字,如:
$q = array( 1, 2, 3, 4, 5, ... ); // ... mean you can give more numbers
$i = 0;
$currentAverage = 0;
while ($i < count( $q )) {
$currentAverage = ($currentAverage + $q[$i]) / 2; // this is my try
$i++;
}
echo "The final average is: " . $currentAverage . "<br/>";
很明显,你可以除以count( $q )
总和,但这不是主意。
我希望你能帮助我!感谢。
答案 0 :(得分:2)
可以使用这个:
#N Max
#O Tim Coe
#C A spacefiller that fills space with zebra stripes.
#C www.conwaylife.com/wiki/index.php?title=Max
x = 27, y = 27, rule = s23/b3
18bo8b$17b3o7b$12b3o4b2o6b$11bo2b3o2bob2o4b$10bo3bobo2bobo5b$10bo4bobo
bobob2o2b$12bo4bobo3b2o2b$4o5bobo4bo3bob3o2b$o3b2obob3ob2o9b2ob$o5b2o
5bo13b$bo2b2obo2bo2bob2o10b$7bobobobobobo5b4o$bo2b2obo2bo2bo2b2obob2o
3bo$o5b2o3bobobo3b2o5bo$o3b2obob2o2bo2bo2bob2o2bob$4o5bobobobobobo7b$
10b2obo2bo2bob2o2bob$13bo5b2o5bo$b2o9b2ob3obob2o3bo$2b3obo3bo4bobo5b4o
$2b2o3bobo4bo12b$2b2obobobobo4bo10b$5bobo2bobo3bo10b$4b2obo2b3o2bo11b$
6b2o4b3o12b$7b3o17b$8bo!
答案 1 :(得分:1)
如果不知道构成该平均值的项目总数,则无法计算“增量”平均值。
例如,如果您有10个平均为5的项目,并且您想要添加下一个项目X
,则必须为新添加的项目提供适当的“权重”。
例如,要获得下一个平均值,您可以
(currentAverage * currentNumberOfItems + X) / (currentNumberOfItems + 1)
如果我们说X
为7,则新的平均值为
(5 * 10 + 7) / (10 + 1)
= (50 + 7) / 11
= 57 / 11
= 5.181818182
不可能进行此计算而不知道预先构成平均值的项目的当前数量(10)
为了向您展示这种增量方式,这里有一个for
循环,用于跟踪循环运行时的平均值
$xs = [1,2,3,4,5];
$average = $xs[0];
for ($count = 1; $count < count($xs); $count++) {
echo sprintf("average: %0.3f, count: %d" . PHP_EOL, $average, $count);
$average = ($average * $count + $xs[$count]) / ($count + 1);
}
average: 1.000, count: 1
average: 1.500, count: 2
average: 2.000, count: 3
average: 2.500, count: 4