zoukankan      html  css  js  c++  java
  • 比较“笨”的枚举算法(一)

    枚举即一一列举。

    一、枚举算法的思想

      将问题所有的可能答案一一列举,然后根据实际情况选择合适而丢弃不合适的。在c语言中,枚举算法一般使用while循环实现。

    二、实例演练

      (1)“百钱买百鸡”问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?

      代码实现:

    #include "stdio.h"
    int main()
    {
        int x, y, z;
        for (x = 0; x <= 20;x++)
        {
            for (y = 0; y <= 33;y++)
            {
                z = 100 - x - y;
                if (z % 3 == 0 && x * 5 + y * 3 + z / 3 == 100)
                {
                    printf("公鸡:%d,母鸡:%d,小鸡:%d
    ", x, y, z);
                }
            }
        }
        system("pause");
        return 0;
    }

      实现结果:

        

     三、枚举法的使用

      枚举虽有点“笨”,很多人称其为“暴力算法”,但是当遇到问题时最先就是想到它。枚举算法的使用时,关键在于选择合适的对象,对对象进行考察,选取判断标准,从而解决问题。

      

  • 相关阅读:
    单例模式
    反射常见方法
    字符流,字节流总结
    泛型限定
    随机数判断最值
    字符流与字节流练习
    文件常见操作属性
    文件过滤器
    字符流读取文件
    目前最流行的IT编程语言
  • 原文地址:https://www.cnblogs.com/hxf175336/p/9846664.html
Copyright © 2011-2022 走看看