算法说明:1,2,3,4,5,6,7,8,9共9个数,实现三维结构,使的横三个数,竖三个数,斜角三个数之和都等于15
算法实现:
<script>
var start=new Date().getTime();
var m=0,n=0;
var data=new Array();
for(var i=1;i<10;i++){
for(var j=1;j<10;j++){
if(j!=i){
for(var k=1;k<10;k++){
if(k!=j && k!=i && i+j+k==15){
Add(i,j,k);
m++;
}
}
}
}
}
for(var a=0;a<data.length;a++){
for(var b=0;b<data.length;b++){
if((data[b].i!=data[a].i)&&(data[b].i!=data[a].j)&&(data[b].i!=data[a].k)&&(data[b].j!=data[a].i)&&(data[b].j!=data[a].j)&&(data[b].j!=data[a].k)&&(data[b].k!=data[a].i)&&(data[b].k!=data[a].j)&&(data[b].k!=data[a].k))
for(var c=0;c<data.length;c++){
if((data[a].i+data[b].i+data[c].i==15)&&(data[a].j+data[b].j+data[c].j==15)&&(data[a].k+data[b].k+data[c].k==15)&&(data[a].i+data[b].j+data[c].k==15)&&(data[a].k+data[b].j+data[c].i==15)){
document.writeln(data[a].i+" "+data[a].j+" "+data[a].k);
document.writeln("<br>");
document.writeln(data[b].i+" "+data[b].j+" "+data[b].k);
document.writeln("<br>");
document.writeln(data[c].i+" "+data[c].j+" "+data[c].k);
document.writeln("<br><br>");
n++;
}
}
}
}
alert("总共花费时间"+(new Date().getTime()-start)+"毫秒,数量为"+n);
function Add(i,j,k){
var obj=new Object();
obj.i=i;
obj.j=j;
obj.k=k;
var len=data.length;
data[len]=obj;
}
</script>