Documentos de Académico
Documentos de Profesional
Documentos de Cultura
llenar(lugar,num+1);
}
}
public void imprimir(int i,int j){
if(i==0&&j==0)System.out.println("------------------");
if(i<cuadro.length){
if(j<cuadro[0].length){
System.out.print(cuadro[i][j]+"\t");
imprimir(i,j+1);
}
else{
System.out.println();
imprimir(i+1,0);
}
}
}
hor=vert=diag[0]=diag[1]=true;
pruebaHor(0,0);
pruebaVert(0,0);
pruebaDiag1(0);
pruebaDiag2(cuadro.length-1,0);
return hor && vert && diag[0] && diag[1];
}
public void pruebaHor(int i,int j){
if(i<cuadro.length-1){
if(j==0) sumasH[i]= 0;
if(j<cuadro[0].length){
sumasH[i]+=cuadro[i][j];
pruebaHor(i,j+1);
}
else{
hor = hor && sumasH[i]==k;
pruebaHor(i+1,0);
}
}
}
public void pruebaVert(int i,int j){
if(j<cuadro[0].length-1){
if(i==0) sumasV[j]=0;
if(i<cuadro.length){
sumasV[j]+=cuadro[i][j];
pruebaVert(i+1,j);
}
else{
vert = vert && sumasV[j]==k;
pruebaVert(0,j+1);
}
}
public void pruebaDiag1(int i){
if(i<cuadro.length&&i<cuadro[0].length){
if(i==0) sumasD[0] = 0;
sumasD[0]+=cuadro[i][i];
pruebaDiag1(i+1);
}
else{
diag[0]=sumasD[0]==k;
}
}
public void pruebaDiag2(int i,int j){
if(j<cuadro[0].length){
if(i==cuadro.length-1) sumasD[1]=0;
if(i>=0){
sumasD[1]+=cuadro[i][j];
pruebaDiag2(i-1,j+1);
}
}
else{
diag[1]=sumasD[1]==k;
}
}
public static void main(String args[]){
Cuadrado3 c =new Cuadrado3(3);
c.llenar(0,1);
}
}