清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
<div style="background-color:#000;color:#fff; padding:20px;">
<script type="text/javascript" language="javascript">
function GetRandomNum(Min,Max){
var Range = Max - Min;
var Rand = Math.random();
return(Min + Math.round(Rand * Range));
}
function GetRandomArray(Length){
var arrayObj = new Array(Length);
for(var i=0;i<Length;i++){
arrayObj[i]=GetRandomNum(10,20);
}
return arrayObj;
}
function sum(arguments){
var r=0;
for (var i=0;i<arguments.length;i++){
r=arguments[i]+r;
}
return r;
}
function num(arguments){
var r=0;
for (var i=0;i<arguments.length;i++){
if(arguments[i]){
r++;
}
}
return r;
}
//先创建A和B两个数组分别以随机数填充
var A = GetRandomArray(6);
var B = GetRandomArray(6);
//打印A和B数组
document.write("<br/>");
document.write("A:" + A.toString());
document.write("<br/>");
document.write("B:" + B.toString());
//将A和B两个数组进行合并排序
var AB = new Array(A.length+B.length);
for(var i=0;i<A.length;i++){
AB[i]=A[i];
}
for(var i=0;i<B.length;i++){
AB[A.length+i]=B[i];
}
//重置A和B数组
A = new Array();
B = new Array();
//打印A和B数组合并数组AB
//document.write("<br/>");
//document.write("AB:" + AB.toString());
//将AB数组进行排序
AB.sort();
//打印排序后的数组AB
document.write("<br/>");
document.write("AB:" + AB.toString());
//调用递归方法
CalAB(A,B,AB);
//反复填充递归方法定义
function CalAB(a,b,ab){
if(ab.length==0){
return;
}
if(num(a)==0){
a.push(ab[ab.length-1]);
ab.splice(ab.length-1,1);
}else if(num(a)>num(b)){
var tmp = sum(a)- sum(b);
var tmpIndex=0;
for(var i=0;i<ab.length;i++){
if(Math.abs(ab[i]-tmp)<Math.abs(ab[tmpIndex]-tmp)){
tmpIndex=i;
}
}
b.push(ab[tmpIndex]);
ab.splice(tmpIndex,1);
} else if(num(a)==num(b)){
if(ab.length==2){
if(sum(a)>sum(b)){
if(ab[0]<ab[1]){
a.push(ab[0]);
b.push(ab[1]);
ab.splice(0,2);
}else{
b.push(ab[0]);
a.push(ab[1]);
ab.splice(0,2);
}
}else{
if(ab[0]>ab[1]){
a.push(ab[0]);
b.push(ab[1]);
ab.splice(0,2);
}else{
b.push(ab[0]);
a.push(ab[1]);
ab.splice(0,2);
}
}
}
else{
var tmp = sum(a)- sum(b);
var tmpIndex=0;
for(var i=0;i<ab.length;i++){
if(Math.abs(ab[i]-tmp)<Math.abs(ab[tmpIndex]-tmp)){
tmpIndex=i;
}
}
a.push(ab[tmpIndex]);
ab.splice(tmpIndex,1);
}
}
CalAB(A,B,AB);
}
document.write("<br/>=========================================<br/>");
document.write("A:" + A.toString());
document.write("<br/>");
document.write("B:" + B.toString());
document.write("<br/>");
document.write("D-value:" + Math.abs(sum(A)-sum(B)).toString());
document.write("<br/> ");
</script>
</div>