日期:2014-05-20 浏览次数:20965 次
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));
}
}
}
}
}
}
}
}
}