JAVA 123456789 填入3x3的矩形中,使其横竖斜相加和等于15.代码实现! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class Test{ public static int[][] matrix = new int[3][3]; public static boolean[] flag = new boolean[9]; public static void init() { int i; for(i = 0; i < 9; i++) { flag[i] = false; } } public static void calculateMatrix(int step) { if(9 == step) { int j; for(j = 0; j < 3; j++) { int sum = 0; int k; for(k = 0; k < 3; k++) { sum += matrix[j][k]; } if(15 != sum) { return; } } for(j = 0; j < 3; j++) { int sum = 0; int k; for(k = 0; k < 3; k++) { sum += matrix[k][j]; } if(15 != sum) { return; } } if(15 != matrix[0][0] + matrix[1][1] + matrix[2][2]) { return; } if(15 != matrix[0][2] + matrix[1][1] + matrix[2][0]) { return; } for(j = 0; j < 3; j++) { int k; for(k = 0; k < 2; k++) { System.out.print(matrix[j][k]); System.out.print(" "); } System.out.println(matrix[j][2]); } System.out.println(); System.out.println(); } int i; for(i = 0; i < 9; i++) { if(!flag[i]) { flag[i] = true; matrix[step/3][step%3] = i+1; calculateMatrix(step+1); flag[i] = false; } } } public static void main(String[] args) { init(); calculateMatrix(0); }} 在JSP页面上如何实现倒计时功能? java+jsp 一个抽奖程序问题 做一个DIV层,点“+”展开,“-”关闭,怎么处理? [推荐]基于WEB的J2EE报表解决方案集锦 jsp 登陆之后再跳转回本页面 问个servlet问题 多用户访问时,SESSION的问题??? 关于类似out.close();终止打印内容 ~~~怎么存到数据哭里的中文都是乱码!!!!!!!!!!!!!!!!!!!!! 在文件中使用javabean?给15分 Selenium RC 请教OpenGTS的接受数据的问题!
{
public static int[][] matrix = new int[3][3];
public static boolean[] flag = new boolean[9];
public static void init()
{
int i;
for(i = 0; i < 9; i++)
{
flag[i] = false;
}
}
public static void calculateMatrix(int step)
{
if(9 == step)
{
int j;
for(j = 0; j < 3; j++)
{
int sum = 0;
int k;
for(k = 0; k < 3; k++)
{
sum += matrix[j][k];
}
if(15 != sum)
{
return;
}
}
for(j = 0; j < 3; j++)
{
int sum = 0;
int k;
for(k = 0; k < 3; k++)
{
sum += matrix[k][j];
}
if(15 != sum)
{
return;
}
}
if(15 != matrix[0][0] + matrix[1][1] + matrix[2][2])
{
return;
}
if(15 != matrix[0][2] + matrix[1][1] + matrix[2][0])
{
return;
}
for(j = 0; j < 3; j++)
{
int k;
for(k = 0; k < 2; k++)
{
System.out.print(matrix[j][k]);
System.out.print(" ");
}
System.out.println(matrix[j][2]);
}
System.out.println();
System.out.println();
}
int i;
for(i = 0; i < 9; i++)
{
if(!flag[i])
{
flag[i] = true;
matrix[step/3][step%3] = i+1;
calculateMatrix(step+1);
flag[i] = false;
}
}
}
public static void main(String[] args)
{
init();
calculateMatrix(0);
}
}