zoukankan      html  css  js  c++  java
  • 穷举与迭代

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

    例:


                百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,
                小鸡半文钱一只,总共只有100文钱,
                如何在凑够100只鸡的情况下刚好花完100文钱?

                int n = 0;
                for (int x = 0; x <= 50; x++)
                {
                    for (int y = 0; y <= 100; y++)
                    {
                        for (int z = 0; z <= 200; z++)
                        {
                            if (x + y + z == 100 && x * 2 + y + z * 0.5 == 100)
                            {
                                Console.WriteLine(x + "只公鸡" + y + "只母鸡" + z + "只小鸡");
                                n++;
                            }
                        }
                    }
                }
                Console.WriteLine("共" + n + "种");
                Console.ReadLine();

    2.迭代:从初始情况按照规律不断求解中间情况,最终推导出结果。


                五个小朋友排成一队,问第一个多大了,
                第一个说比第二个大两岁,问第二个多大了,
                第二个说比第三个大两岁。。。以此类推,
                问第5个小朋友,说自己3岁了。问第一个小朋友几岁了?

                for方法:

                int a = 3;
                for (int i = 1; i < 5; i++)
                {
                    a += 2;
                }
                Console.WriteLine(a);
                Console.ReadLine();

                while方法1:

                int a = 3;
                int i = 1;
                while (i < 5)
                {
                    i++;
                    a += 2;
                }
                Console.WriteLine(a);
                Console.ReadLine();

                while方法2:


                int a = 3;
                int i = 1;
                while (true)
                {
                    i++;
                    a += 2;
                    if (i == 5)
                    {
                        break;
                    }
                }
                Console.WriteLine(a);
                Console.ReadLine();

  • 相关阅读:
    IIS和tomcat共用80端口
    CYQ.Data V5 从入门到放弃ORM系列:教程
    C#中==与Equals方法的区别
    一个简单得不能再简单的“ORM”了
    msbuild ConfuserEx.Build 加密
    C#生成注册码
    从多个XML文档中读取数据用于显示webapi帮助文档
    ASP.NET MVC SSO 单点登录设计与实现
    ASP.NET MVC Bootstrap极速开发框架
    Nodejs初阶之express
  • 原文地址:https://www.cnblogs.com/shi2172843/p/5609918.html
Copyright © 2011-2022 走看看