穹举,迭代,while循环。
所有循环 必要条件 : 初始条件(注意初始条件的位置) 循环条件 循环体 状态改变;
1.穷举
将所有可能性全部全部走一遍,使用IF筛选出满足的情况
使用循环语句 for 或者 while 语句 do 。。。while 语句 中间嵌套 if 语句
举例
1,
穷举:将所有可能性全部走一遍,使用if筛选出满足的情况
单位给发了一张150元购物卡,
拿着到超市买三类洗化用品。
洗发水15元,香皂2元,牙刷5元。
求刚好花完150元,有多少种买法,
每种买法都是各买几样?
洗发水 x 0~10
牙刷 y 0~30
香皂 z 0~75
int biao = 0;
int zong = 0;
for (int x = 0; x <= 10;x++ ) //for循环嵌套for循环, 最后用if 筛选出满足条件的情况;
{
for (int y = 0; y <= 30;y++ )
{
for (int z = 0; z <= 75;z++ )
{
zong++;
if(x*15+y*5+z*2==150)
{
biao++;
Console.WriteLine("第{0}种买法:洗发水{1}瓶,牙刷{2}支,香皂{3}块。",biao,x,y,z);
}
}
}
}
Console.WriteLine("总共有"+biao+"种买法。");
Console.WriteLine("总共走了"+zong+"遍才找到了"+biao+"种符合的情况。");
2.迭代
从初始情况按照规律不断求解中间情况,最终推导出结果。
举例:
(1)
第一天1分钱,第二天2分钱,第三天4分钱,以此类推
40天
问,总共收了多少钱?
double sum = 0;
double qian = 1;
for (int i = 1; i <= 40;i++ )
{
if (i == 1)
{
sum += qian;
}
else
{
qian *= 2;
sum += qian;
}
}
Console.WriteLine("总共接收了"+(sum/100)+"元。");
(2)
Console.Write("请输入月份:");
int m = int.Parse(Console.ReadLine());
int a = 10, b = 10, c = 1;
int sum = a + b + c;
for (int i = 1; i <= m; i++)
{ if (i == 1)
{ a = 0;
b = 0;
c = 1;
sum = a + b + c;
}
else
{
a = b + c;
b = c;
c = a;
sum = a + b + c; }
}
Console.WriteLine("在{0}个月后,共有成兔{1}对,小兔{2}对,幼兔{3}对,共{4}对", m, a, b, c, sum);
Console.ReadLine();
3.while循环
格式1:先判断,在做 (初始条件)+while(表达式(循环条件)){循环体+状态改变}
格式2:先做,在判断 (初始条件)+ do{循环体+状态改变}while(表达式(循环条件));
打印菱形
Console.Write("输入行数n:");
int n = int.Parse(Console.ReadLine());
int h1 = 1;//第1行赋值;
while(h1<=n)
{ int i=1;//第一列赋值
while(i<=n-h1)
{
Console.Write(" ");
i++;
}
int j=1;
while(j<=2*h1-1)
{
Console.Write("★");
j++;
}
Console.Write("\n");
h1++;
}
int h2 = 1;//下三角第一行赋值;
while (h2 < n)
{
int k = 1;//第一列赋值
while (k <= h2)
{
Console.Write(" ");
k++;
}
int l = 1;
while (l <= 2 * (n - h2) - 1)
{
Console.Write("☆");
l++;
}
Console.Write("\n");
h2++;
}
Console.ReadLine();
3.随笔(最重要的是前后知识联系起来,无外乎是嵌套 循环 分支)
循环语句 1.与分支语句 相互嵌套 2. 循环语句嵌套循环语句 3.分支语句套分支 // 做题方法
4.写程序时 注意多加注释 方便以后再看懂, 5.分析问题时,用草纸亲自打个草稿!
6. 分析问题时注意寻找规律,充其量就是变量和自变量关系,最多就是多套几个循环或者分支语句,每套一个,总的自变量就可以视为少一个!
- 复杂的问题,可以拆分成几个来找规律,最后能合并则合并,例如:打印菱形;
- 找出特例:其他的可以用规律写出来,例如上面兔子的问题,第一个月为特例,则先列出来;
- 思考问题,灵活,未必顺着题目来,也可能逆着来思考
例如(
五个小朋友排成一队,问第一个多大了,
第一个说比第二个大两岁,问第二个多大了,
第二个说比第三个大两岁。。。
以此类推,问第5个小朋友,说自己3岁了。
问第一个小朋友几岁了?
int s=3 ;
for (int i = 1; i <5;i++ ) //把最后一个小朋友看作是第一个小朋友 逆着做题;
{
s += 2;
}
Console.WriteLine(s);
也可能从中间向两端思考,还可能拆分成几个来思考(打印菱形)。
穹举,迭代,while循环。的更多相关文章
- for循环的嵌套,for循环的穷举迭代
for循环的嵌套 输入一个正整数,求阶乘的和 嵌套 Console.Write("请输入一个正整数:"); int ...
- C# 循环语句 for循环(嵌套 while 穷举 迭代)
for循环的嵌套类似于if else 事例: 打印矩阵,外循环对应行,内循环对应列 for (int k = 1; k <= 5; k++) { for (int i = 1; i <= ...
- for 穷举、迭代 while循环
1.穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 2.百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100 ...
- 循环语句while与for的穷举迭代
循环语句while while当...的时候 int n=1; while(n<6)//在括号内直接限制逻辑关系 {//需要在大括号内给出改变方式,否则将进入死循环 console.WriteL ...
- 穷举 迭代 while
for循环拥有两类: 穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 例:1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品.洗发水15元,香皂2元,牙刷5元.求刚好花 ...
- Atitit 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).
Atitit 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 1.1. 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称之为循环. ...
- 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate)的区别
表示“重复”这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称 ...
- [Effective JavaScript 笔记]第50条:迭代方法优于循环
"懒"程序员才是好程序员.复制和粘贴样板代码,一但代码有错误,或代码功能修改,那么程序在修改的时候,程序员需要找到所有相同功能的代码一处处进行修改.这会使人重复发明轮子,而且在别人 ...
- Day 13 可迭代对象,迭代器对象,for循环迭代,生成器对象,枚举对象
一.迭代器概念:# 器:包含了多个值的容器# 迭代:循环反馈(一次从容器中取出一个值)# 迭代器:从装有多个值的容器中一次取出一个值给外界# ls = 'abcdef'ls = [1, 2, 3, 4 ...
随机推荐
- Supervisor 安装与配置
Supervisor是一个进程监控程序. 满足的需求是:我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...
- Reading Famous blog to prevent me wasting time on blind wandering
I can`t help surfing the useless bbs and some other kind of SNS. The time I begin to do it, it costs ...
- nyoj 14 会场安排问题(贪心专题)java
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- Hadoop 之面试题
颜色区别: 蓝色:hive,橙色:Hbase.黑色hadoop 请简述hadoop怎样实现二级排序. 你认为用Java,Streaming,pipe 方式开发map/reduce,各有哪些优缺点: 6 ...
- Mac Pro 安装 Adobe Photoshop CC for mac V2014 破解版
一.下载 Photoshop CC for mac V2014 原版(.dmg 文件): 百度网盘下载1 百度网盘下载2 百度网盘下载3 百度网盘下载4 百度网盘下载5 百度网盘下载6 百度网盘下载7 ...
- Linux文件处理命令
1.权限处理 1.1 方法一 使用+-=的方法 1.1.1权限 rwx r 读 w 写 x 执行 1.1.2用户 ugoa u 所有者 g 用户组 o 其他人 a 表示以上所有 修改文件的方法 例: ...
- HDU 1232 并查集/dfs
原题: http://acm.hdu.edu.cn/showproblem.php?pid=1232 我的第一道并查集题目,刚刚学会,我是照着<啊哈算法>这本书学会的,感觉非常通俗易懂,另 ...
- Codeforces 271 Div 2 A Keyboard
题目链接:http://codeforces.com/contest/474/problem/A 解题报告:一个矩形的键盘,上面只有规定的字符,现在按的时候总是会向某个方向按偏,也就是输入一串字符后, ...
- BZOJ4525——[Usaco2016 Jan]Angry Cows
1.题意:给一堆可以的限制长度的区间...区间的长度是你控制的...但是只有一个长度...求最短长度覆盖所有的点 2.分析:发现可以二分...那二分吧.....然后我们从头向后扫一遍直接判断能否直接覆 ...
- Vim编辑器运用的五个技巧
导读 如今 Vim 是每个人最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.大多数人只是熟悉Vim的最最基本的操作,只能在终端使用 Vim 修改文本,但是它并没有任何一个我想 ...