Fork me on GitHub

递归 阶乘

 double num = 1;
            for (int i = 1; i <=100; i++)
            {
                num *= i;
                Console.WriteLine(num);
            }
  int jjj = 0;
        public int Jc(int num)
        {   //非递归
            // int x = 1;
            // while (x <= num)
            // {
            //     jjj += x;
            //     x++;
            //}
            // return jjj;
            //递归   程序调用自身的编程技巧称为递归    一定要有终止条件
            if (num == 1)
            {
                return 1;
            }
            return num + Jc(num - 1);//1+2+3+4+5
            //简化后递归
            //return num > 0 ? num * Jc(num - 1) : 1;  //如果num>0则返回num *Jc(num - 1),否则返回1   5*4*3*2*1
        }

 

posted @ 2018-06-14 13:03  都一样*  阅读(198)  评论(0编辑  收藏  举报