用 JavaScript 解数学题
作者:blank 来源:怿飞blog 时间:2010-07-09 13:38:00
题目:一个六位数,分别用2,3,4,5,6乘它,得到的五个新数仍是由原数中的六个数字组成,只是位置不同,则此六位数是多少?
function evaluate() {
var multiplier = [2,3,4,5,6],
sortNumber = function (number) {
return parseInt((number + '').split('').sort().join(''), 10);
},
gameOver = false, // 判断是否已经找到,如果找到,结束循环
determine = function(origin) {
var result, i, len = multiplier.length;
for( i = 0; i < len; i++ ) {
result = origin * multiplier[i];
if (result < 100000 || result > 999999 || sortNumber(result) !== sortNumber(origin)) {
return;
}
if(i === (len-1)){
gameOver = true;
alert('此六位数是 ' + origin);
}
}
};
// Math.floor(1000000/6) 缩小范围
for(var j = Math.floor(1000000/6); j >= 100000 && !gameOver; j--) {
determine(j);
}
}
扩展阅读: