日期:2014-05-20 浏览次数:20814 次
package csdn.calculate; import java.util.Arrays; public class SixNumberArrange { public static final int MAX=6; //数据范围。 //对数组进行判断,逻辑即是否符合题目要求。符合返回true,否则返回false. // public static boolean isOk(int[] inputArray) { if((Math.abs(inputArray[0]-inputArray[1])==inputArray[3])&& (Math.abs(inputArray[1]-inputArray[2])==inputArray[4])&& (Math.abs(inputArray[3]-inputArray[4])==inputArray[5])) { return true; } else { return false; } } //主函数。 public static void main(String[] args) { //创建一个整型数组。 int[] input=new int[MAX]; //create an array //判断开始。 for(int i=1;i<=MAX;i++) { input[0]=i; //数组第一个位置。 for(int j=1;j<=MAX;j++) { if(j==i) { continue;} //前面如果出现了这个数,循环从新开始,以此类推。 input[1]=j; for(int h=1;h<=MAX;h++) { if(h==i||h==j){continue;} input[2]=h; for(int k=1;k<=MAX;k++) { if(k==i||k==j||k==h){continue;} input[3]=k; for(int m=1;m<MAX;m++) { if(m==i||m==j||m==h||m==k){ continue;} input[4]=m; for(int n=1;n<=MAX;n++) { if(n==i||n==j||n==h||n==k||n==m){continue;} input[5]=n; if(isOk(input)) //判断。 { System.out.println(Arrays.toString(input)); } } } } } } } } }