/*n元买n个兔子问题*/
function exhaustiveSearch(n) {
cases=new Array();
rabbit = new Array();
rabbit["male"] = 0;//公兔数量
rabbit["female"] = 0;//母兔数量
rabbit["child"] = 0;//雏兔数量
// 公兔一只5元,则一定少于n/5只
for (rabbit["male"] = 0; rabbit["male"] < n / 5; rabbit["male"]++) {
//母兔一只3元,则一定少于n/3只
for (rabbit["female"] = 0; rabbit["female"] < n / 3; rabbit["female"]++) {
// 雏兔数量一定是n-母兔-公兔
for (rabbit["child"] = (n - rabbit["male"] - rabbit["female"]); rabbit["child"] < n; rabbit["child"]++) {
// console.log("总数相等了");
if (rabbit["child"] % 3 == 0) {
// console.log("小兔一元三只");
if (rabbit["male"] * 5 + rabbit["female"] * 3 + rabbit["child"] / 3 == n) {
console.log(rabbit);//**输出**
cases.push(rabbit);
}
}
}
}
}
// console.log(cases);
return cases;
}所以,为何上下的输出不一致呢
function exhaustiveSearch(n) {
cases=new Array();
rabbit = new Array();
rabbit["male"] = 0;//公兔数量
rabbit["female"] = 0;//母兔数量
rabbit["child"] = 0;//雏兔数量
// 公兔一只5元,则一定少于n/5只
for (rabbit["male"] = 0; rabbit["male"] < n / 5; rabbit["male"]++) {
//母兔一只3元,则一定少于n/3只
for (rabbit["female"] = 0; rabbit["female"] < n / 3; rabbit["female"]++) {
// 雏兔数量一定是n-母兔-公兔
for (rabbit["child"] = (n - rabbit["male"] - rabbit["female"]); rabbit["child"] < n; rabbit["child"]++) {
// console.log("总数相等了");
if (rabbit["child"] % 3 == 0) {
// console.log("小兔一元三只");
if (rabbit["male"] * 5 + rabbit["female"] * 3 + rabbit["child"] / 3 == n) {
console.log(rabbit);//**输出**
cases.push(rabbit);
}
}
}
}
}
// console.log(cases);
return cases;
}所以,为何上下的输出不一致呢
console.log(JSON.stringify(rabbit));Web开发学习资料推荐
javascript运行机制浅析
XDomainRequest,IE8+跨域请求对象