常见算法-穷举

遇到一个问题,找不到更好的解决办法(找不到数学公式或者规律)时,使用“最笨”的办法,利用计算机计算速度块的特点,将所有的可能性全部列出来,并将我们想要得到的结果记录下来。

例如:百钱买百鸡

我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

empty
for(var cock = 0;cock <= 20;cock++){      //公鸡数量
    for(var hen = 0;hen <= 33;hen++){    //母鸡数量
        var chellock = 100 - cock - hen; //小鸡数量
        if(100 == cock * 5 + hen * 3 + chellock / 3){
            document.write("鸡翁一共" + cock + "母鸡一共" + hen + "鸡仔一共" + chellock + "");
        }
    }
}

穷举方法的特点是算法简单,相应的程序也很简单,但计算量往往很大。但计算机的优势就是运算速度快,所以此算法可以扬长避短,往往可以取得不错的效果

案例:有一个三位数,个位数字比百位数字大,而百位数字又比十位数字大,并且各位数字之和等于各位数字相乘之积,求此三位数


你可能感兴趣的:(JS)