for循环拥有两类:

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

例:1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品。洗发水15元,香皂2元,牙刷5元。求刚好花完150元,有多少种买法,没种买法都是各买几样?

//洗发水 x  10
         //牙刷    y  30
         //香皂    z  75
            int ci = 0;
            int biao = 0;
            for (int x = 0; x <= 10; x++)
            {
                for (int y = 0; y <= 30; y++)
                {
                    for (int z = 0; z <= 75; z++)
                    {
                        ci++;
                        if (15 * x + y * 5 + z * 2 == 150)
                        {
                            biao++;
                            Console.WriteLine("第{0}种买法:洗发水{1}瓶,牙刷{2}支,香皂{3}块。", biao, x, y, z);
                        }
                    }
                }
            }
            Console.WriteLine("总共有{0}种买法。", biao);
            Console.WriteLine(ci);
            Console.ReadLine();

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

int n = 0;
            for (int g = 0; g * 2 <= 100; g++)
            {
                for (int m = 0; m <= 100; m++)
                {
                    for (int x = 0; x * 0.5 <= 100; x++)
                    {
                        if (g * 2 + m + x * 0.5 == 100 && g + m + x == 100)
                        {
                            Console.WriteLine("第{0}种:{1}只公鸡,{2}只母鸡,{3}只小鸡", n, g, m, x);
                            n++;
                        }
                    }
                }
            }
            Console.WriteLine("总共有{0}种可能性", n);
            Console.ReadLine();

3.有1分钱,2分钱,5分钱的硬币,要组合出来2角钱,有几种组合方式,分别各多少个?

    int n = 0;
            for (int a = 0; a * 1 <= 20; a++)
            {
                for (int b = 0; b*2 <= 20; b++)
                {
                    for (int c = 0; c *5 <= 20; c++)
                    {
                        if (a * 1 + b*2 + c * 5 == 20)
                        {  
                            n++;
                            Console.WriteLine("第{0}种:{1}枚1分钱,{2}枚2分钱,{3}枚5分钱", n, a, b, c);
                         }
                    }
                }
            }
            Console.WriteLine("总共有{0}种可能性", n);
            Console.ReadLine(); 

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

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

问第一个小朋友几岁了?

int n = 1;
            int a = 3;
            while (n < 5)
            {
                a += 2;
                n++;
            }
            Console.WriteLine("第一个小朋友{0}岁了", a);
            Console.ReadLine();

2.纸张可以无限次对折,纸张厚度为0.07毫米。问多少次对折至少可以超过8848?

double height = 0.07;//8848m=8848000
            int ci = 0;
            while (height <= 8848000)
            {
                ci++;
                height *= 2;//height=height*2;
            }
            Console.WriteLine(ci);
            Console.ReadLine();

while 循环

其实是for循环的变形写法
for(int i = 1; i<=5;i++)
{
 循环体;
}

上面的for循环可以写成
int i= 1;
for(;i<=5;)
{
 循环体;
 i++;
}

写成while就是以下样式
int i= 1;
while(表达式(i<=5))
{
 循环体;
 状态改变(i++);
}

do
{
 循环体;
 状态改变(i++);
}while(表达式(i<=5))
注意:do while是不管满不满足表达式,我都会先执行一遍。

跳转语句:
break:跳出整个循环
continue:跳出本次循环,继续下次循环。

穷举 迭代 while的更多相关文章

  1. for循环的嵌套,for循环的穷举迭代

    for循环的嵌套            输入一个正整数,求阶乘的和 嵌套            Console.Write("请输入一个正整数:");            int ...

  2. C# 循环语句 for循环(嵌套 while 穷举 迭代)

    for循环的嵌套类似于if else 事例: 打印矩阵,外循环对应行,内循环对应列 for (int k = 1; k <= 5; k++) { for (int i = 1; i <= ...

  3. 循环语句while与for的穷举迭代

    循环语句while while当...的时候 int n=1; while(n<6)//在括号内直接限制逻辑关系 {//需要在大括号内给出改变方式,否则将进入死循环 console.WriteL ...

  4. C#语句2——循环语句(for穷举、迭代和while循环)

    一.for循环拥有两类: (一).穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品.洗发水15元,香皂2元,牙刷5元. ...

  5. 2016年10月10日--穷举、迭代、while循环

    穷举 将所有可能性全部全部走一遍,使用IF筛选出满足的情况 练习: 1.单位给发了一张150元购物卡, 拿着到超市买三类洗化用品. 洗发水15元,香皂2元,牙刷5元. 求刚好花完150元,有多少种买法 ...

  6. while do while以及穷举和迭代

    今天的新内容1:while循环 格式: while() { } 初始状态要在循环外提前规定 状态改变要写在花括号里面 括号内是循环条件 for循环与while循环的对比: 2:do while 不管循 ...

  7. while do while 穷举和迭代

    新内容1:while循环 格式: while() { } 初始状态要在循环外提前规定 状态改变要写在花括号里面 括号内是循环条件 for循环与while循环的对比: 穷举: 迭代:

  8. JS。 问题类型:穷举,迭代。两个关键词:break和continue

    问题类型: 穷举:(在不知道什么情况下是我们需要的结果的时候只能够让它一个一个都给走一遍) 百鸡百钱:公鸡1钱,母鸡2钱,小鸡0.5钱. 思路: 公鸡买100只,母鸡,小鸡都是0只: 母鸡50只,公鸡 ...

  9. for 穷举、迭代 while循环

    1.穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 2.百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100 ...

随机推荐

  1. SpingMvc 中文乱码 post 方式解决方案

    Web.xml <!-- spring 中文乱码问题 --> <filter> <filter-name>encodingFilter</filter-nam ...

  2. CodeForces 622C Not Equal on a Segment

    预处理p[i],p[i]表示:[p[i],i]这段闭区间上所有数字都是a[i] 询问的时候,如果xi==a[ri]并且p[ri]<=li,一定无解 剩下的情况都是有解的,如果xi!=a[ri], ...

  3. js局部变量,参数

    作者:zccst 所有函数的参数都是按值传递的.也就是说,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样.基本类型值的传递如同基本类型变量的赋值一样.而引用类型值的传递,则 ...

  4. delphi 中COPY()函数的意思

    Trim(copy(m,11,5)):copy里面的3个参数(m,11,5)分别是什么意思?COPY还有其他的参数吗? m :就是copy源,就是一个字符串,表示你将要从m里copy一些东西11 : ...

  5. STM32驱动TEA5767收音机模块

    Tea5767是飞利浦公司出的一款集成化的收音机芯片,大四的时候机缘巧合遇到了这个芯片,用了一下,写点资料 主要特性 TEA5767HN是一款低功耗立体声收音IC,广泛应用于手机MP3 .MP 4 播 ...

  6. 重拾python

    前一段碰到几次关于日期计算的题:给出一个日期,计算下一天的日期.虽然不限语言,可是我就C/C++还算熟悉,别的都是刚了解皮毛,根本不会用现成的库啊,无奈啊...只好用c语言一点点实现了,当时真是无比怀 ...

  7. Struts2标签遍历List<Map<String,String>>

    <s:if test="resultList != null && resultList.size() > 0"> <s:iterator  ...

  8. 安装pybloomfiltermmap 遇到bug

    pybloomfiltermmap pip 安装 : sudo pip install pybloomfiltermmap I want to try one program which have m ...

  9. 一句话绑定父函数的作用域this

    //如何在返回的函数中绑定父函数的作用域this function bound () { return function () { console.log(this); }.bind(this); } ...

  10. redis php sort 函数

    很多人把redis当成一种数据库,其实是利用redis来构造数据库的模型,有那种数据库的味道.但是在怎么构建还是key和value的关系.根真正的关系型数据库还是不一样的.效率高,不方便:方便的,效率 ...