/*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;
}
chrome控制台打印对象是引用的,默认没有展开,展开后就是最后修改的值,所以出现[.....]的值不同,展开一样的 问题,你看最后有个感叹号,就是提示这个用的
直接打印字符串
console.log(JSON.stringify(rabbit));