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.删除窗口 ...
随机推荐
- WPF中当鼠标移到按钮上时,按钮的背景图片消失的问题
如果给按钮设置了背景图片,当鼠标移到按钮上的时候,按钮就好变成一个浅蓝色的按钮,背景图片就消失了,对于这个问题有很多解决方法,我只分享一下我的解决方法. 我第一次用的方式是在按钮中添加一个图片,不用背 ...
- UIImageView~动画播放的内存优化
我目前学到的知识,播放动画的步骤就是下面的几个步骤,把照片资源放到数组里面,通过动画animationImage加载数组,设置动画播放的 时间和次数完成播放. 后来通过看一些视频了解到:当需要播放多个 ...
- (原)android的JNI中使用C++的类
android的JNI代码中可以调用C++的类,但是不能直接调用,要加上一个类似于接口的java类,这个类内部调用C++的类.实际上和接口类直接调用C++中的函数差不多,只是稍微复杂了一点. 1. 写 ...
- Eclipse安装与搭建Maven
Maven的具体参考书可以看:<Maven实战> 下载maven可以到:http://maven.apache.org/ Maven的eclipse基本使用可以在这里看到:http://w ...
- MySQL 初学笔记 ② -- MySQL安装
1. Ubuntu安装 sudo apt-get install mysql-server //安装mysql服务 sudo apt-get install mysql-client // sudo ...
- Redis与Scrapy
Redis与Scrapy Redis与Scrapy Redis is an open source, BSD licensed, advanced key-value cache and store. ...
- 理解Window和WindowManger
一.Window简介 作用:桌面上显示一个类似悬浮的东西. 介绍:Window是一个抽象类,实现是由PhoneWindow.WindowManager是外界访问Window的入口.但是最终实现是在Wi ...
- 基本语法 - PHP手册笔记
PHP标记 如果文件内容是纯PHP代码,最好在文件末尾删除PHP结束标记.这可以避免在PHP结束标记之后万一意外加入了空格或者换行符,会导致PHP开始输出这些空白,而脚本中此时并无输出的意图.当然PH ...
- 解决CentOS(RedHat)中sendmail和sm-client启动慢故障(转)
Starting sendmail: Starting sm-client: 刚才发了修改主机名那篇文章后,我意外发现重新启动CentOS的时候系统会卡在sendmail和sm-client那里将近3 ...
- [置顶] access函数-linux
表头文件 #include<unistd.h> 定义函数 int access(const char * pathname, int mode); 函数说明 检查是否可以读/写某一已存在的 ...