循环语句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();

 

转载于:https://www.cnblogs.com/bloodPhoenix/p/5610107.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值