, . , , n * (n[-1] + n[1]) / 2.
, 4, n1 = 1, n2 = 2, n3 = 3 n4 = 4 - 4 * (4 + 1) / 2 == 10.
function progression($n) {
return $n * ($n + 1) / 2;
}
echo progression(4);
, , (.. $n).
$n = 4;
for ($i = 1; $i <= $n; $i++) {
$operands = implode('+', range(1, $i));
echo $operands . " = " . progression($i), "\n";
}
1 = 1
1+2 = 3
1+2+3 = 6
1+2+3+4 = 10
/ . , , 5 8 4 * (5 + 8) / 2, 26.
, .
function progression($size, $start = 1) {
return $size * ($start + ($size + $start - 1)) / 2;
}
$n = 4;
$start = 5;
for ($i = $start; $i <= $n + $start - 1; $i++) {
$operands = implode('+', range($start, $i));
echo $operands . " = " . progression($i - $start + 1, $start), "\n";
}
5 = 5
5+6 = 11
5+6+7 = 18
5+6+7+8 = 26