php 获取矩阵对角线,php数组求对角线之和

php3×3二维数组[ [1, 2, 3], [4, 5, 6], [7, 8, 9] ],它的对角线值为(1,5,9)和(3,5,7),对角线相加和为1+5+9+3+7 = 25。然而在计算的时候要如何找到这些数字并相加呢?

一、3×3数组求对角线之和

1                       2                   3

[0][0]            [0][1]                [0][2]

4                       5                   6

[1][0]            [1][1]               [1][2]

7                      8                     9

[2][0]           [2][1]                [2][2]

通过规律发现,它们的坐标:[0][0]、[1][1]、[2][2]、[0][2]、[1][1]、[2][0] ,x+y正好能被2整除。即公式为:(i+j)%2==0,最后通过遍历数组,对坐标进行判断,就能得出结果。

示例代码:<?php

$arr = [

[1, 2, 3],

[4, 5, 6],

[7, 8, 9]

];

$sum = 0;

for ($i = 0; $i 

for ($j = 0; $j 

if(($i+$j)%2 ==0){

$sum += $arr[$i][$j];

}

}

}

echo '数组对角线和为:' . $sum;// 数组对角线和为:25

二、3×3对角线之和(不去除相交数)

它的对角线值为(1,5,9)和(3,5,7),对角线相加和为1+5+9+3+5+7 = 30<?php

$arr = [

[1, 2, 3],

[4, 5, 6],

[7, 8, 9]

];

$sum = 0;

for ($i = 0; $i 

for ($j = 0; $j 

if ($i == $j) {

$sum += ($arr[$i][$j] + $arr[$i][2-$i]);

}

}

}

echo '数组对角线和为:' . $sum;// 数组对角线和为:30

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值