PHP создать двумерный массив фибоначи и сложить два числа

При помощи языка PHP создаnm двумерный массив размерa 6х6, заполнить числами из последовательности Фибоначчи, в углу [0][0] единица, в ячейке [1][0] единица, в ячейке [2][0] цифра 2. Найти сумму чисел находящихся на диагонали [5][0]-[0][5]

наверное надо какой то цикл сделать?


Ответы (1 шт):

Автор решения: Dmitry
$start = 1;
$diag = 5;
$arr = array();

for ($y = 0; $y <= $diag; $y++) {
    for ($x = 0; $x <= $diag; $x++) {
        if ($x==0 and $y==0) {$arr[0][0] = $start; $arr[1][0]=$start; $x++;} else {
            if ($x==0) {
                $arr[$x][$y] = $arr[$diag][$y-1]+$arr[$diag-1][$y-1];
            } else if ($x==1) {
                $arr[$x][$y] = $arr[$diag][$y-1]+$arr[0][$y];
            } else {
                $arr[$x][$y] = $arr[$x-1][$y]+$arr[$x-2][$y];
            }
        }
    }
}

for ($y = 0; $y <= $diag; $y++) {
    for ($x = 0; $x <= $diag; $x++) {
        echo str_pad($arr[$x][$y],12," ",STR_PAD_BOTH);
    }
    echo PHP_EOL;
}
echo PHP_EOL;

$sum = 0;

for($i=0; $i<=$diag; $i++) {
    $x = $diag-$i; $y = $i;
    $sum += $arr[$x][$y];
}
echo $sum;
→ Ссылка