zoukankan      html  css  js  c++  java
  • 12月24日笔记

     一、迭代法:有一定的规律(s=s+n//s+=n)

    每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算作准备。

    例:

    1.100以内所有数之和

    2.求阶乘

    3.求年龄

    4.折纸

    5.棋盘放粮食

    6.猴子吃桃子

    7.落球问题:一个球从10米高度落下,每次弹起2/3的高度,问第五次弹起后的高度是多少?

    8.兔子生兔子的问题

      一对新生兔,到第三个月开始生小兔,以后每个月都会生一对小兔,小兔不断的长大也会生小兔,假设兔子不会死,每一次只能生一对(公母)。问第24个月末能生多少只兔子。

    **int 是32的位的,有时计算的数太大会超出范围,运算结果会显示是0,这时换成double计算试试。

    二、穷举法

      用循环把各种可能的情况都给走一遍,然后用if条件把满足要求的结果给筛选出来。

    1.找100以内与7有关的数

      for (int a = 1; a <= 100;a++ )
                {
                    if(a%7==0||a/10==7||a%10==7)
                    {
                        Console.WriteLine("100以内与7有关的数是"+a);
                    }
                }       

    2.硬币有1分、2分、5分的若干个,要组合出一毛五,有哪些组合方式

     for (int a = 1; a <= 15;a++ )
                {
                    for (int b = 1; b <= 7;b++ )
                    {
                        for (int c = 1; c <= 3;c++ )
                        {
                            if (a + 2 * b + 5 * c == 15)
                            {
                                Console.WriteLine("需要一分的"+a+"个,两分的"+b+"个,五分的"+c+"个");                       
                            }
                        }
                    }
                }

    3.买东西。小张有100元购物券,香皂5元,牙刷2元,洗发水20元,如何花完100元。

     for (int a = 0; a <= 20;a++ )
                {
                    for (int b = 0; b <= 50; b++)
                    {
                        for (int c = 0; c <= 5; c++)
                        {
                            if (5*a+2*b+20*c==100)
                            {
                                Console.WriteLine("香皂"+a+"个,牙刷"+b+"个,洗发水"+c+"个");
                            }
                        }
                    }
                }

    4,(百鸡百钱)有100文钱,要买100只鸡回家,公鸡2文钱一只,母鸡一文钱一只,小鸡半文钱一只。如何买。

       (百马百石)有100石粮食,每匹大马驮2石,每匹中马驮1石,每两匹小马驮1石,要用100匹马驮完100石粮食如何驮完?

     for (int a = 0; a <= 50; a++)
                {
                    for (int b = 0; b <= 100; b++)
                    {
                        for (int c = 0; c <= 200; c++)
                        {
                            if (2 * a + b + 0.5 * c == 100)
                            {
                                Console.WriteLine("买公鸡" + a + "只,母鸡" + b + "只,小鸡" + c + "只");
                            }
                        }
                    }
                }

    5.某侦查队接到一项紧张任务,要求在A、B、C、D、E、F六个队员中尽以下可能

      A、B至少去一个   a+b>=1

      A和D不能一起去   a+d<=1

      A E F三人只两人去   a+e+f==2

       B C 都去或者都不去  b+c!=1

      C D中去一个  c+d==1

      若D不去,则E也不去  d+e==0||d==1

    6.  123()45()67()8()9=100;要求在()填写+或-使等式成立。

     for (int a = -1; a <= 1;a+=2 )
                {
                    for (int b = -1; b <= 1;b+=2 )
                    {
                        for (int c = -1; c <= 1; c += 2)
                        {
                            for (int d = -1; d <= 1; d += 2)
                            {
                                if(123+a*45+b*67+c*8+d*9==100)
                                {
                                     Console.WriteLine("A="+a+";B="+b+";C="+c+";D="+d);
                                }
                            }
                        }
                    }
                }     
            }

  • 相关阅读:
    Pandas DataFrame的基本属性
    Pandas , series 与 Dataframe的创建
    原生爬虫实例
    爬虫!对!学tmd爬虫!
    作业 选课系统
    面向对象
    面向对象
    正则计算器版中版之最后一版!
    正则计算器2
    mysql常见错误代码说明
  • 原文地址:https://www.cnblogs.com/zdc1994/p/4182815.html
Copyright © 2011-2022 走看看