我已经为此工作了很长一段时间,但我不知道如何解决这个问题:
我有一个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
然后,您可以将最大平均值与阈值进行比较,并通知自己。