PHP在50个随机数的列表中找到10个后续数字的最大平均值


PHP Find a maximum average for 10 subsequent numbers in a list of 50 random numbers

我已经为此工作了很长一段时间,但我不知道如何解决这个问题:

我有一个50个随机数字的列表,当这个列表中的10个后续数字(例如数字11-20,或数字24-33)达到x的平均值时,我想得到一个通知。

这50个数字在一个(HTML)表的一行中,每个数字在不同的列中。

有人知道如何开始吗?谢谢

如果你在一个数组中有你的数字,你可以在数组中循环10块,然后找到最大平均值。

<?php
$numbers = array(1, 2, 3, 4, 5, 4, 3, 2, 1, 2, 3, 4, 5, 4, 3, 2, 1,
                 10, 11, 12, 13, 14, 15, 14, 13, 12, 11, 10, 11, 12, //large numbers here
                 1, 2, 3, 4, 5, 4, 3, 2, 1, 2, 3, 4, 5, 4, 3, 2, 1);
$number = 10; //numbers in a set
$max = 0;
$index = 0;
$size = sizeof($numbers) - $number;       
for ($i = 0; $i < $size; $i++) {
    $tmp = array_sum(array_slice($numbers, $i, $number)) / $number;
    if ($tmp > $max) {
        $max = $tmp;
        $index = $i;
    }
}
echo "Largest set of " . $number . " numbers is: " . implode(', ', array_slice($numbers, $index, $number)) . "'nAverage of: " . $max;

输出:

Largest set of 10 numbers is: 10, 11, 12, 13, 14, 15, 14, 13, 12, 11
Average of: 12.5

然后,您可以将最大平均值与阈值进行比较,并通知自己。