for循环拥有两类:穷举和迭代
穷举:
把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况。

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

 int sum = ;//共走了多少步
int s = ;//共有几种买法
for (int x = ; x <= ;x++ )
{
for(int y=;y<=;y++)
{
for (int z = ; z <= ;z++ )
{
sum++;
if(x*+y*+z*==)
{
s++;
Console.WriteLine("这是第"+s+"种买法:"+"洗发水"+x+"瓶,香皂"+y+"块,牙刷"+z+"支.");
}
} }
}
Console.WriteLine("一共"+s+"种买法.");
Console.WriteLine(sum);
Console.ReadLine();

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

int sum = ;
int s = ;
for(int x=;x*<=;x++)
{
for(int y=;y*<=;y++)
{
for (int z = ; z*0.5 <= ;z++ )
{
sum++;
if(x*+y*+z*0.5==&&x+y+z==)
{
s++;
Console.WriteLine("这是第"+s+"种买法:公鸡"+x+"只,母鸡"+y+"只,小鸡"+z+"只");
}
}
}
}
Console.WriteLine("共有"+s+"种买法.");
Console.WriteLine(sum);
Console.ReadLine();

3.大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,该如何分配?

 int s = ;
for(int x=;x*<=;x++)
{
for(int y=;y<=;y++)
{
for (int z = ; z*0.5 <= ;z++ )//不能写成z/2<=100;
{
if(x*+y*+z*0.5==&&x+y+z==)
{
s++;
Console.WriteLine("这是第"+s+"种分配方法:"+x+"匹大马,"+y+"匹中等马,"+z+"匹小马.");
}
}
}
}
Console.WriteLine("共有"+s+"种分配方法.");
Console.ReadLine();

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

            int s = ;
int sum = ;
for (int x = ; x <= ; x++)
{
for (int y = ; y <= ; y++)
{
for (int z = ; z <= ; z++)
{
sum++;
if (x + y * + * z == )
{
s++;
Console.WriteLine("这是第" + s + "种组合方式:1分钱" + x + "枚,2分钱" + y + "枚,5分钱" + z + "枚.");
}
}
}
}
Console.WriteLine("共有" + s + "种组合方式");
Console.WriteLine(sum);
Console.ReadLine();

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

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

int age = ;
int i = ;
for (; ; )
{
age += ;
if(i==)
{
Console.WriteLine("第五个小朋友"+age+"岁了.");
break;
}
i++;
}
Console.ReadLine();

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

int a = ;////统一单位
int i = ;
for (; ; )//
{
a *= ;//a=a*2;
if (a >= )
{
break;//满足条件后跳出for循环
}
i++;
}
Console.WriteLine("对折"+i+"次可超过8848米");
Console.WriteLine("此时纸张厚度为:"+a+"毫米");
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++);
}

如上题可用while循环:

             int a = ;
int i = ;
while(true)
{
a *= ;
if(a>=)
{
break;
}
i++;
} Console.WriteLine("对折" + i + "次可超过8848米");
Console.WriteLine("此时纸张厚度为:" + a + "毫米");
Console.ReadLine();

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

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

3.09课·········for穷举和迭代的更多相关文章

  1. while do while 穷举和迭代

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

  2. for循环嵌套的穷举,迭代,以及while的使用和for的转换

    for循环的穷举.解决多种方法做种组合问题,代替人脑的大量计算 穷举例子 迭代,寻找一定的规律.然后利用循环找出结果 迭代举例 以五个小朋友3岁,之前的每一个小朋友都比序号在后的小朋友大两岁.温,第一 ...

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

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

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

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

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

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

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

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

  7. for 穷举、迭代 while循环

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

  8. for循坏的穷举与迭代,while、do while循环

    for循环的穷举:所有情况走一遍,使用if筛选出符合的情况. 单位发一张150元购物卡,到超市买三种洗化用品,洗发水15元,香皂两元,牙刷5元,刚好花完150元,有多少种买法,每种买法各买几样. 百鸡 ...

  9. 5月4日课堂内容:for循环的穷举、迭代

    一.for循环拥有两类: 1.穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 2.迭代: 从初始情况按照规律不断求解中间情况,最终推导出结果. 二.穷举练习 1.单位给发了一张 ...

随机推荐

  1. search-a-2d-matrix——二维矩阵找数

    题目描述 Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the ...

  2. xUtils介绍 -- DbUtils、ViewUtils、HttpUtils、BitmapUtils

    转载注明出处:https://github.com/wyouflf/xUtils xUtils简单介绍 xUtils 包括了非常多有用的android工具. xUtils 支持大文件上传,更全面的ht ...

  3. windows 下编译64位ffmpeg

    window下如何编译ffmpeg 前文已有介绍,前面介绍的都是如何编译32位的库,本文主要介绍window 下如何编译64位ffmpeg库. 一.搭建编译环境 1.下载 windows下编译64位F ...

  4. 在caffe中用训练好的 caffemodel 来分类新的图片所遇到的问题

    结合之前的博客: http://www.cnblogs.com/Allen-rg/p/5834551.html#3949333 用caffemodel去测试单通道的图像(mnist数据集)时,出现了问 ...

  5. SpringBoot项目的云服务器部署

    1.场景还原 springboot配置相当简单,人人皆知.怎么把springboot工程部署到云服务器上呢?可能有人会说,博主你前篇不是讲了java工程的云部署把:但是我想澄清一点的是,我前篇的工程都 ...

  6. Rserve方式连接别的服务器

    Rserve Rserve的方式,这是一个基于TCP/IP的服务器,通过二进制协议传输数据,可以提供远程连接,使得客户端语言能够调用R 既然是TCP/IP 就可以在不同的机器上运行了 事实上官网给出了 ...

  7. IIS7设置默认页

    一般用ASP.NET创建的网站默认页都是Default.aspx,不需要设置. 但是如果有网站的起始页不是Default.aspx,就需要在IIS里设置了. IIS7的设置方法和IIS6的不一样: 在 ...

  8. NOJ1167 丑陋数 想法题

    题意 丑陋数n的意思是n的全部素数因子仅仅有2,3,5. 求出前1500个丑陋数. (第一个丑陋数是1) 思路 用一个数组维护全部的丑陋数. 一開始数组中仅仅有一个数就是1. 如今能够确定的丑陋数还有 ...

  9. 4.关于QT中的QFile文件操作,QBuffer,Label上加入QPixmap,QByteArray和QString之间的差别,QTextStream和QDataStream的差别,QT内存映射(

     新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...

  10. Iterator模式----一个一个遍历

    说起遍历,我立马就想到for循环,增强for循环,foreach循环这类的循环遍历,这个不错,既然有这么方便的遍历,为什么我们还要学习Iterator这样的遍历呢? 一个重要的理由是:引入Iterat ...