• 穷举


    穷举:
    例题:公鸡2钱,母鸡1钱,小鸡0.5钱,每种至少一只,100钱买100鸡有几种可能。
    思考:出这个题的人让我蛋疼。
    分析一下,先定义g=公鸡,m=母鸡,x=小鸡;每种鸡至少有一只则 g+m+x==100,
    根据价钱得到 2g+1g+0.5g==100,那么我们有了择选标准
    (g+m+x==100&&2g+1g+0.5g==100)
    穷举就是把一种种可能性全列出来。
    那么我们就把100块钱能买到的鸡的所有可能性都列出来
    for (int g = 1; g * 2 <= 100; g++)   //能买公鸡个数
    for (int m = 1; m * 1 <= 100; m++)   //能买母鸡个数
    for (int x = 1; x * 0.5 <= 100; x++) //能买小鸡个数
    那我们将这些可能嵌套起来
       for (int g = 1; g * 2 <= 100; g++)
                {
                 for (int m = 1; m * 1 <= 100; m++)
                    {
                        for (int x = 1; x * 0.5 <= 100; x++)
                        {
                        }
                    }         
                }
    这样将是一个很大的图列出了所有可能性,所以我们要加上我们的筛选条件,筛选出来我们想要的。
    如果想要一个计数器计算有多少种可能性就要设立一个整数 int n,初始化n=0;
    把这个n加在if条件里面,如果满足条件进入if里面则n就自加一次 n++ ,输出n。
     int n = 0;
                for (int g = 1; g * 2 <= 100; g++)
                {
                    for (int m = 1; m * 1 <= 100; m++)
                    {
                        for (int x = 1; x * 0.5 <= 100; x++)
                        {
                            if (g * 2 + m * 1 + x * 0.5 == 100 && g + m + x == 100)
                            { Console.WriteLine("公鸡" + g + "母鸡" + m + "小鸡" + x + "一共"+(g + m + x));
                            n++;
                            }
                        }        
                    }
                }
                Console.Write("共有" + n + "种可能");
                Console.ReadLine();

  • 相关阅读:
    2019-9-2-简单搭建自己的博客
    2018-7-15-WPF-在-DrawingContext-的-push-如何使用
    2018-7-15-WPF-在-DrawingContext-的-push-如何使用
    2019-7-3-Roslyn-理解-msbuild-的清理过程
    2019-7-3-Roslyn-理解-msbuild-的清理过程
    MySQL数据库事务详解
    求一个Map中最大的value值,同时列出键,值
    Struts1入门实例(简单登录)
    java字符流操作flush()方法及其注意事项
    HDU 1874 畅通工程续 2008浙大研究生复试热身赛(2)
  • 原文地址:https://www.cnblogs.com/18553325o9o/p/4430801.html
Copyright © 2020-2023  润新知