Skip to content

Instantly share code, notes, and snippets.

@sheepcloud
Created March 2, 2014 13:56
Show Gist options
  • Save sheepcloud/9306916 to your computer and use it in GitHub Desktop.
Save sheepcloud/9306916 to your computer and use it in GitHub Desktop.
三和数 JavaScript
//var elem = [ 3,11,12,102,111,120 ];
var elem = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
var maxVal = Math.max.apply(null, elem);
function IsTreeAddingNumber(n1, n2, n3) {
var flags = new Array(elem.length);
var addingArray = new Uint32Array(4);
addingArray[0] = parseInt(0);
addingArray[1] = parseInt(n1);
addingArray[2] = parseInt(n2);
addingArray[3] = parseInt(n3);
//alert("(" + n1 + "," + n2 + "," + n3 + ")");
var length = addingArray.length;
var chk = 0;
for (var ind1 = 0; ind1 < length; ind1++)
for (var ind2 = 0; ind2 < length; ind2++)
for (var ind3 = 0; ind3 < length; ind3++) {
var total = eval(addingArray[ind1]) + eval(addingArray[ind2]) + eval(addingArray[ind3]);
for (var idx = 0; idx < elem.length; idx++) {
if (total === elem[idx]) {
console.log(total + "==" + elem[idx]);
flags[idx] = true;
}
}
}
for (var i = 0; i < elem.length; i++) {
if(flags[i] !== true) return false;
}
return true;
}
function entry() {
alert("start");
var ans = [];
for (var n1 = 1; n1 < maxVal; n1++) {
for (var n2 = 1; n2 < maxVal; n2++) {
for (var n3 = 1; n3 < maxVal; n3++) {
if (IsTreeAddingNumber(n1, n2, n3) == true) {
alert("(" + n1 + "," + n2 + "," + n3 + ")");
ans.push([n1, n2, n3]);
}
}
}
}
alert(maxVal);
alert(ans.length);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment