zoukankan      html  css  js  c++  java
  • 枚举 递归

    枚举:

    //一组常量的组合
    //在不指定任何索引的情况下,默认第一个字段从0开始,之后依次+1
    //在指定索引的情况下,之后字段索引依次+1
    //若之前定义的一个字段的索引指向了之后的某个默认字段,那么他俩完全相同
    //若定义枚举类型时,下面有个字段等于以前的的一个字段,那么就等于之前的那个字段
    //若等于之前的一个字段的时候强制取int,那么就等于之前那个字段的值

    class Program
        {
            /
            
            //定义
            enum meiju:int 
            {
                //one,
                one=3,
                two=1,
                //two=2,
                three,
                four=three
            }
            static void a(string[] args)
            {
                //在不取int类型的时候,打印出来的是常量字段
                Console.WriteLine(meiju.one);
                //在取int类型的时候,出来的是这个字段代表的值
                Console.WriteLine((int)meiju.one);
                //若定义枚举类型时,下面有个字段等于以前的的一个字段,那么就等于之前的那个字段
                Console.WriteLine(meiju.four);
                //若等于之前的一个字段的时候强制取int,那么就等于之前那个字段的值
                Console.WriteLine((int)meiju.four);
                //不管第一个常量指定索引从几开始,那么之后的所有常量的代表值会自动加1
                Console.WriteLine(meiju.two);
                Console.WriteLine((int)meiju.two);
                Console.WriteLine((int)meiju.three);
    
                Console.ReadLine();
            }
    

      

    递归:

    定义:函数体内调用函数本身,直到符合某一条件不再继续调用。

    满足条件:

    1.有反复执行的过程(调用自身)

    2.又跳出反复执行过程的条件(函数出口)

    注意事项:

    1.递归中必须要存在一个循环结束的条件

    2.递归函数每次调用都需要栈来存储,如果次数太多的话容易造成栈溢出。

    class Class1
        {
            //n的阶乘
            public int Jie(int n)
            {
                int sum;
                if(n==1)
                {
                    return 1;
                }
                sum = n * Jie(n-1);
                //sum=5*(4*Jie(3));
                //sum=5*(4*(3*Jie(2)));
                //sum=5*(4*(3*(2*Jie(1))));
                //sum=5*(4*(3*(2*1)));
                return sum;
            }
    static void Main(string[] args)
            {
                Class1 jc = new Class1();
                Console.Write("请输入一个正整数:");
                int sum = jc.Jie(int.Parse(Console.ReadLine()));
                Console.WriteLine("sum="+sum);
              }
    

      //老汉卖羊

    class Class1
        {
          public int yang(int n)
            {
                int sum;
                if (n == 7)
                {
                    return 2;
                }
                sum = 2 * (yang(n + 1) + 1);
                return sum;
            }
        static void Main(string[] args)
            {
                Class1 maiy = new Class1();
                int n = maiy.yang(1);
                Console.WriteLine("最初" + n + "只羊");
             }
        } 

     

    //猴子摘了好多好多桃子,一天要吃掉总数的2/3,觉得不过瘾,还要多吃1个,
    //吃到第九天时,发现只有两个桃子,问最初有多少桃子?

    class Class1
        {
         public int taozi(int n)
            {
                int sum;
                if(n==9)
                {
                    return 2;
                }
                sum = 3* (taozi(n + 1)+1);
                return sum;
            }
        static void Main(string[] args)
            {
               Class1 hs = new Class1();
                int a = hs.taozi(1);
                Console.WriteLine("最初"+a+"个桃子");
             }
        } 

      

     

  • 相关阅读:
    Python学习-day10
    python学习-day9
    Python学习-day8
    Python学习-day7
    Python学习-day6
    Django2
    Django讲解
    JQuery讲解
    前端Day2
    前端Day1
  • 原文地址:https://www.cnblogs.com/maxin991025-/p/5981304.html
Copyright © 2011-2022 走看看