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;
    }

      实现结果:

        

     三、枚举法的使用

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

      

  • 相关阅读:
    scan design rules
    scan cell
    DFT basics
    测试性分析
    DFT设计绪论
    clock gate cell
    Linux命令
    Multi-voltage和power gating的实现
    Power Gating的设计(架构)
    Power Gating的设计(模块二)
  • 原文地址:https://www.cnblogs.com/hxf175336/p/9846664.html
Copyright © 2011-2022 走看看