C#4 for循环 迭代法 穷举法应用
for()循环。
四要素:
初始条件,循环条件,状态改变,循环体。 执行过程:
初始条件--循环条件--循环体--状态改变--循环条件....
注意:for的小括号里面分号隔开,for的小括号后不要加分号。 for的嵌套。 应用:迭代法,穷举法。
一、迭代法:
有一定规律。 每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备。
例: 1.100以内所有数的和。
2.求阶乘
3.求年龄。
4.折纸。
5.棋盘放粮食( 自己做)
6.猴子吃桃子
7.落球问题。(自己做)一个球从10米高度落下,每次弹起2/3的高度。问第五次弹起后的高度是多少? 8.兔子小兔子的问题。一对新生兔,到三个月开始生一对小兔,以后每个月都会生一对小兔,小兔不断长大也会生小兔。假设兔子不死,每次只能生一对(公母),问第24末有多少只兔子?
二、穷举法: 用循环把各种可能的情况都给走一遍,然后用if条件把满足要求的结果给筛选出来。
1.找100以内的与7有关的数。
2.有三种硬币若干:1分,2分,5分。要组合1毛5,有哪些组合方式?
3.买东西。小张过元旦发了100元的购物券,他要买香皂(5元),牙刷(2元),洗发水(20元)。要想把100元正好花完,如何买这三样东西?
4.百鸡百钱。有100文钱,要买100只鸡回家。公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只。如何买? 百马百石。有100石粮食,母匹大马驮2石,每匹中马驮1石,每两匹小马驹一起驮1石。要用100匹马驮完100石粮食,如何按排?
5.某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件: A和B两人中至少去一人; a+b>=1 A和D不能一起去; a+d<=1 A、E和F三人中要派两人去; a+e+f==2 B和C都去或都不去; b+c!=1 C和D两人中去一个; c+d==1 若D不去,则E也不去。 d+e==0||d==1 问应当让哪几个人去? 6.123()45()67()8()9=100;要求在()里面填写+或-使等式成立。
迭代
//兔子生兔子
class Class5
{
static void Main(string[] args)
{
int tu1 = 1, tu2 = 1; //tu1是倒数第一个月的兔子数,tu2是倒数第二个月的兔子数
int tu=0;//要求的这个月的兔子数。
for (int i = 3; i <= 24; i++)
{ tu = tu1 + tu2;
tu2 = tu1;
tu1 = tu;
}
Console.WriteLine(tu);
}
}
个小孩子排在一起,问第一个多大年龄,他说比第二个小2岁,问第二个多大年龄,他说比第三个小2岁,以此类推,问第6个多大年龄,他说自己16岁。问第一个小孩子几岁?个小孩子年龄,每次循环都会减2,分别代表第5,4,3,2,1个小孩子的年龄。
for (int i = 5; i >= 1; i--)
{
age = age - 2;
}
Console.WriteLine(age);
}
}
}
天猴了睁开眼发现只剩下一个桃子了,问原来有多。
//190
class Class4
{
static void Main(string[] args)
{
int count = 1;
for(int i=6;i>=1;i--)
{
count = (count + 1) * 2;
}
Console.WriteLine(count);
}
}
}
穷举
分,2分,5分。要组合1毛5,有哪些组合方式?
分的硬币个数
分的硬币个数
分硬币的个数
分的硬币需要"+b+"个,5分的硬币需要"+c+"个");
}
}
}
}
}
}
}
//1. 求前100个数的和
class Program
{
static void Main(string[] args)
{
int sum = 0;
for (int i = 1; i <= 1000; i++)
{
sum = sum + i;
}
Console.WriteLine(sum);
}
}
猴子吃桃子。
//公园里有一只猴子,和一堆桃子。猴子每天吃掉桃子数量的一半,把剩下的一半数量中扔掉一个坏的。到了第7天猴了睁开眼发现只剩下一个桃子了,问原来有多。
//190
class Class4
{
static void Main(string[] args)
{
int count = 1;
for(int i=6;i>=1;i--)
{
count = (count + 1) * 2;
}
Console.WriteLine(count);
}
}
一张纸的厚度是0.15毫米,假设这张纸足够大,可以无限次对折,问折多少次能超过珠峰的高度?
//一张纸的厚度是0.15毫米,假设这张纸足够大,可以无限次对折,折50次高度是多少?
class Class3
{
static void Main(string[] args)
{
double h = 0.00015;//毫米转换成米
; i++)
{
h = h * 2;
}
Console.WriteLine(h);
}
}
某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
A和B两人中至少去一人;a+b>=1
A和D不能一起去;a+d<=1
A、E和F三人中要派两人去;a+e+f==2
B和C都去或都不去;b+c!=1
C和D两人中去一个;c+d==1
若D不去,则E也不去。d+e==0||d==1
问应当让哪几个人去?
class Class7
{
static void Main(string[] args)
{
for(int a=0;a<=1;a++)
{
for(int b=0;b<=1;b++)
{
for(int c=0;c<=1;c++)
{
for(int d=0;d<=1;d++)
{
for(int e=0;e<=1;e++)
{
for(int f=0;f<=1;f++)
{
if (a + b >= 1 && a + d <= 1 && a + e + f == 2 && b + c != 1 && c + d == 1 && (d + e == 0 || d == 1))
{
Console.WriteLine("A="+a+";B="+b+";C="+c+";D="+d+";E="+e+";F="+f);
}
}
}
}
}
}
}
}
}
C#4 for循环 迭代法 穷举法应用的更多相关文章
- C# for 循环 迭代法 穷举法
for()循环. 四要素: 初始条件,循环条件,状态改变,循环体. 执行过程: 初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面分号隔开,for的小括号后不要加 ...
- C# for循环 迭代法 穷举法应用
迭代 //兔子生兔子 class Class5 { static void Main(string[] args) { int tu1 = 1, tu2 = 1; //tu1是倒数第一个月的兔子 ...
- 【2-24】for循环嵌套,跳转语句,异常语句,穷举法、迭代法
For循环嵌套与if嵌套相似,是在for中再套for,其结构如下: For(;;) { For(;;){} }经典题型为打印星星例: Console.Write("请输入一个奇数:" ...
- C# 异常语句 跳转语句 while循环 穷举法 迭代法
一 异常语句 ♦ try.....catch....finally 结构形式 try{ 可能会出错的代码语句 如果这里出错了,那么不会在继续下面的代码,而是直接进入catch中处理异常}catc ...
- for循环语句以及迭代法和穷举法
循环语句: 四要素:初始条件,循环条件,状态改变,循环体 for(初始条件;循环条件;状态改变){ //循环体} 案例1:打印等腰直角三角形和菱形 左上三角 static void Main(stri ...
- 作业:for循环,迭代法和穷举法
for()循环 四要素:初始条件,循环条件,状态改变,循环体. 执行过程:初始条件--循环条件--循环体 ...
- 穷举法、for循环、函数、作用域、斐波那契数
1.穷举法 枚举所有可能性,直到得到正确的答案或者尝试完所有值. 穷举法经常是解决问题的最实用的方法,它实现起来热别容易,并且易于理解. 2.for循环 for语句一般形式如下: for variab ...
- 基本算法思想之穷举法(C++语言描述)
穷举算法(Exhaustive Attack method)是最简单的一种算法,其依赖于计算机的强大计算能力来穷尽每一种可能性,从而达到求解问题的目的.穷举算法效率不高,但是适应于一些没有规律可循的场 ...
- 通过穷举法快速破解excel或word加密文档最高15位密码
1.打开文件 2.工具 --- 宏 ---- 录制新宏 --- 输入名字如 :aa 3.停止录制 ( 这样得到一个空宏 ) 4.工具 --- 宏 ---- 宏 , 选 aa, 点编辑按钮 5.删除窗口 ...
随机推荐
- 4. Linux 系统目录
一.Linux 系统目录的作用 /home 用户主目录的根节点,所有用户自己独有的文件一般放在这个目录下的用户目录下 /bin 二进制可执行命令 / ...
- Android显示系统设计框架介绍
1. Linux内核提供了统一的framebuffer显示驱动,设备节点/dev/graphics/fb*或者/dev/fb*,以fb0表示第一个显示屏,当前实现中只用到了一个显示屏. 2. Andr ...
- 黑马程序员——java基础之文件复制
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流!---------------------- <a href="http:// ...
- <audio> 标签简介
定义和用法 <audio> 标签定义声音,比如音乐或其他音频流. 实例 一段简单的 HTML 5 音频: <audio src="someaudio.wav"&g ...
- 动态加载Ribbon功能区
上下文选项卡对新UI的功能提供了极大的推进作用.当用户对某对象执行特定的任务时就会出现特定的选项卡.例如,在Excel中处理图表时,一个上下文选项卡提供用于图表处理的额外选项.本文将介绍创建和执行这些 ...
- [转载]Matlab中fft与fftshift命令的小结与分析
http://blog.sina.com.cn/s/blog_68f3a4510100qvp1.html 注:转载请注明出处——by author. 我们知道Fourier分析是信号处理里很重要的技术 ...
- 手把手教你使用Git(转)
Git使用教程 2014-10-25 14:29 by 云溪0707, 10532 阅读, ... 评论, 收藏, 编辑 Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系 ...
- js new Date()
1.Date 对象用于处理日期和时间.创建 Date 对象的语法:var myDate=new Date()Date 对象会自动把当前日期和时间保存为其初始值.2.参数形式有以下5种: new Dat ...
- 使用SQLiteHelper创建数据库并插入数据
参考<疯狂android讲义>8.4节P424 1.获取SQLiteDatabase实例有2种方法,一是直接new SQLiteDatabase(),另一种使用SQLiteHelper.一 ...
- python笔记之Cmd模块
python笔记之Cmd模块 Cmd类型提供了一个创建命令行解析器的框架,默认情况下,它使用readline来进行交互式操作.命令行编辑和命令完成. 使用cmd创建的命令行解释器循环读取输入的所有行并 ...