循环语句while与for的穷举迭代
Posted 绯色梧桐绯色月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环语句while与for的穷举迭代相关的知识,希望对你有一定的参考价值。
循环语句while
while当...的时候
int n=1;
while(n<6)//在括号内直接限制逻辑关系
{//需要在大括号内给出改变方式,否则将进入死循环
console.WriteLine("打印结果");
n++;//在大括号内给与值得改变方式
}
int m=1;
while(true)
{
Console.WriteLine("打印结果"+m);
m++;
if(m==6)
{
break;//跳出语句,跳出循环
//continue--跳过本次循环
}
}
Console.ReadLine();
//100节楼梯,前50节每节分数等于阶梯数,当到第30节时直接跳到第50节得100分,51节开始每节10分
1 int n = 0; 2 int m = 0; 3 while (n < 100) 4 { 5 n++; 6 if (n <= 30) 7 { 8 m = m + n; 9 Console.WriteLine("到" + n + "层时的分数" + m); 10 } 11 if (n > 30 && n <= 50) 12 { 13 if (n == 50) 14 { 15 m += 100; 16 Console.WriteLine("到50层时的分数" + m); 17 18 } 19 continue; 20 21 } 22 if (n > 50) 23 { 24 m += 10; 25 Console.WriteLine("到" + n + "层时的分数" + m); 26 } 27 28 } 29 Console.WriteLine(m); 30 Console.ReadLine();
二、for的穷举,迭代
穷举:把所有的可能性都列举一遍,用if筛选出满足条件的情况
迭代:从初始情况按照规律不断求解中间情况,最终推导出结果
例题:
百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,100只鸡,100文钱
int sum = 0; for (int a = 0; a <= 50; a++) { for (int b = 0; b <= 100; b++) { for (int c = 0; c <= 200; c++) { if (a + b + c == 100 && a * 2 + b + c * 0.5 == 100) { sum++; Console.WriteLine("第{0}种,公鸡{1}只,母鸡{2}只,小鸡{3}只", sum, a, b, c); } } } } Console.WriteLine(sum); Console.ReadLine();
以上是关于循环语句while与for的穷举迭代的主要内容,如果未能解决你的问题,请参考以下文章