zoukankan      html  css  js  c++  java
  • 循环:

    循环:
    初始条件,循环条件,状态改变,循环体。
    for(初始条件;循环条件;状态改变)
    {
    循环体
    }
    for(int i=1;i<=10;i++)
    {

    }
    例子:
    100以内与7有关的数。
    求100以内所有数的和。

    break;——中断循环,跳出循环。——吃到苍蝇了

    continue;——停止本次循环,进入下次循环。——吃到沙子了。

    循环嵌套:
    循环里面再套循环。

    一、穷举
    把各种可能的情况都走一遍,使用if条件筛选出满足条件的情况。

    例子

    小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?
    for(int i=0;i<=6;i++)
    {
        for(int j=0;j<=50;j++)
        {
            for(int k=0;k<=20;k++)
            {
                if(i*15+j*2+k*5==100)
                {
                    打印。。
                }
            }
        }
    }
               某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
                 ●A和B两人中至少去一人;        a+b>=1
                 ●A和D不能一起去;                a+d!=2
                 ●A、E和F三人中要派两人去;    a+e+f==2 
                 ●B和C都去或都不去;            b+c!=1
                 ●C和D两人中去一个;            c+d==1
                 ●若D不去,则E也不去。       d+e==0||d==1
                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 != 2 && 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);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

    二、迭代
    从初始情况按照规律不断求解中间情况,最终推导出结果。

                100以内所有数的和...............?
               int a = 0;
               for (int i = 1; i <= 100;i++ )
               {
                   a = a + i;
               }
               Console.WriteLine(a);
  • 相关阅读:
    [JSOI2008]巨额奖金(最小生成树计数)
    [HAOI2008] 糖果传递
    [SCOI2009]生日快乐
    BZOJ2821 作诗
    [HAOI2008]圆上的整点
    POJ1741
    AC自动机
    [JSOI2008]星球大战starwar
    二分图有关证明(感性版)
    初识Pentaho(一)
  • 原文地址:https://www.cnblogs.com/languang/p/4535229.html
Copyright © 2011-2022 走看看