zoukankan      html  css  js  c++  java
  • 穷举练习——7月24日

    穷举:把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况

    练习一:购物

    //单位给发了一张150元购物卡,拿着到超市买三种洗化用品,
                //洗发水15元(x)、香皂2元(z),牙刷5元(y),
                //求刚好花完150元有多少种买法,每种买法都是各买几样
                int sum = 0;
                for (int x = 0; x * 15 <= 150; x++)
                {
                    for (int y = 0; y * 5 <= 150; y++)
                    {
                        for (int z = 0; z * 2 <= 150; z++)
                        {
                            if (x * 15 + y * 5 + z * 2 == 150)
                            {
                                sum++;
                                Console.WriteLine("" + sum + "种买法是:洗发水" + x + "瓶,香皂" + z + "块,牙刷" + y + "只。");
                            }
                        }
                    }
                }
                Console.WriteLine("总共有" + sum + "种买法!");
                Console.ReadLine();

    练习二:百鸡百钱

                //公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,
                //现在有100文钱,要求买100只鸡
                //问每种至少买一只,符合要求的有多少种买法,每种买法的每种鸡各能买多少只
                int sum = 0;
                for (int g = 1; g * 2 <= 100; g++)
                {
                    for (int m = 1; m * 1 <= 100; m++)
                    {
                        for (double x = 1; x * 0.5 <= 100; x++)
                        {
                            if (g * 2 + m * 1 + x * 0.5 == 100 && g + m + x == 100)
                            {
                                sum++;
                                Console.WriteLine("" + sum + "种买法是:公鸡" + g + "只,母鸡" + m + "只,小鸡" + x + "只!");
                            }
                        }
                    }
                }
                Console.WriteLine("总共有" + sum + "种买法!");
                Console.ReadLine();

    练习三:马驮粮食

    //大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,
                //要用100匹马,驼100石粮食,该如何分配?
                int sum = 0;//设置变量,计算有多少种分配方法
                int bian = 0;//计算总共循环了多少次
                for (int d = 0; d * 2 <= 100; d++)
                {
                    for (int z = 0; z * 1 <= 100; z++)
                    {
                        for (double x = 0; x * 0.5 <= 100; x++)
                        {
                            bian++;
                            if (d * 2 + z * 1 + x * 0.5 == 100 && d + z + x == 100)
                            {
                                sum++;//计算的是有多少种可能的方法
                                Console.WriteLine("" + sum + "种方法是:大马驼" + d + "石粮食,中马驼" + z + "石粮食,小马驼" + x + "石粮食。");
                            }
                        }
                    }
                }
                Console.WriteLine("总共循环了:" + bian + "遍。");
                Console.WriteLine("共有" + sum + "种分配方法。");
                Console.ReadLine();

    练习四:组钱

    //有1分钱,2分钱,5分钱的硬币,要组合出来1.5元钱,有几种组合方式,分别各多少个
                //1.5元=150分
                int sum = 0;
                for (int y = 0; y * 1 <= 150; y++)
                {
                    for (int e = 0; e * 2 <= 150; e++)
                    {
                        for (int w = 0; w * 5 <= 150; w++)
                        {
                            if (y * 1 + e * 2 + w * 5 == 150)
                            {
                                sum++;
                                Console.WriteLine("第{0}种组合方法是:1分钱{1}个,2分钱{2}个,5分钱{3}个。", sum, y, e, w);
                            }
                        }
                    }
                }
                Console.WriteLine("总共有" + sum + "种组合方法!");
                Console.ReadLine();

  • 相关阅读:
    spark 查看 job history 日志
    Kafka集群安装
    spark总体概况
    hadoop distcp使用
    基于spark1.3.1的spark-sql实战-02
    HiveServer2 入门使用
    基于spark1.3.1的spark-sql实战-01
    Hive基础学习文档和入门教程
    HDFS HA与QJM(Quorum Journal Manager)介绍及官网内容整理
    Akka DEMO
  • 原文地址:https://www.cnblogs.com/juyangchao12/p/5701715.html
Copyright © 2011-2022 走看看