zoukankan      html  css  js  c++  java
  • 3月10日 循环 嵌套 穷举 迭代

    穷举:

    把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况;

    //单位发了一张150元的购物卡,到超市买洗发水、香皂、牙刷;
                //洗发水15元,香皂2元,牙刷5元;
                //求刚好花完150元,有多少种买法;
                //每种买法都是各买几样;
                //设洗发水x   150/15==10
                //牙刷y      150/5==30
                //香皂z      150/2==75
                int biao = 0;
                int sum = 0;
                for (int x=0;x<=10 ; x++)
                {
                    for (int y = 0;y<=30 ; y++)
                    {
                        for (int z=0;z<=75 ;z++ )
                        {
                            sum++;
                        if(15*x+5*y+2*z==150)
                        {
                            biao++;
                            Console.WriteLine("这是第"+biao+"种买法:洗发水"+x+"瓶,牙刷"+y+"支,香皂"+z+"块。");
                        }
                        }
                    }
    
                }
                Console.WriteLine("共有"+biao+"种买法");
                Console.WriteLine(sum);
                Console.ReadLine();

    迭代:

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

     //纸张可以无限次对折,纸张厚度为0.07毫米;
                //问多少次对折后,可以超过8848;
                int a = 7;
                int i = 1;
                for (; ; )
                {
                    a *= 2;
                    if(a>=884800000)
                    {
                        Console.WriteLine(i);
                        Console.WriteLine(a);
                        break;
                    }
                    i++;
                }
                Console.ReadLine();

    while循环:

    其实是for循环的变形写法;

    for(int i=1;i<=5;i++)

    {

    循环体

    }

    =》

    int i=1;

    while(;i<=5;)

    {

    循环体;

    i++;

    }

     int a = 7;
                int i = 1;
                while(true)
                {
                    a *= 2;
                if(a>=884800000)
                {
                    Console.WriteLine(a);
                    Console.WriteLine(i);
                    break;
                }
                i++;
                }
                Console.ReadLine();
  • 相关阅读:
    MongoDB
    Redis主从复制
    在Flash中动画的制作方式:
    帧的类型:
    第一次做的补间动画,总结过程
    Python脚本:过滤取指定链接标题是否含有指定文字,并将其输出
    cmd命令:在ftp下载文件运行
    bat命令:在txt文本每行后加指定文字
    bat命令:在txt文本每行前加指定文字
    SSH爆破心得:
  • 原文地址:https://www.cnblogs.com/dongqiaozhi/p/5263407.html
Copyright © 2011-2022 走看看