常见算法-穷举

来源:互联网 发布:比特币源码解析 编辑:程序博客网 时间:2024/05/29 14:27

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

例如:百钱买百鸡

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

emptyfor(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 + "
"); } }}

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

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


原创粉丝点击