Función esMagico

function esMagico($t){
 $sum=0;
 //Sumo la primera fila para tener un valor de referencia 
 for ($i=0;$i<count($t[0]);$i++){
 $sum+=$t[0][$i];
 }
 
 for ($i=0;$i<count($t);$i++){
 $sf=0;
 $sc=0;
 for ($j=0;$j<count($t[$i]);$j++){
 $sf+=$t[$i][$j]; //Sumo la fila
 $sc+=$t[$j][$i]; //Sumo la columna
 }
 //Si fila o columna son diferentes al valor de referencia no es mágico
 if ($sf!=$sum || $sc!=$sum ){return false;}
 }
 return true;
 
}

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos