C#经典算法之递归算法

递归算法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class DiGui
    {
        //10!的阶乘s
        
        public int Demo(int n)
        {
            //递归算法:自身调用自身
            //递归一定要考虑递归的出口,不然就会造成死循环
             
            if (n==1)
            {
                return 1;
            }
           return Demo(n – 1) * n;

        }

        //1 1 2 3 5 8 13 21 34 ……..
        //求第30位
        //public int T(int n)
        //{ 
        //return 
        //}
    }
}

和递归算法一个思路的自定义Math类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class MyMath
    { 
        
        //类中的所有成员都可以加static
        //加了static的成员是通过类名点出来使用的
        //求绝对值的方法
        /// <summary>
        /// 求绝对值
        /// </summary>
        /// <param name=”a”></param>
        /// <returns></returns>
        public static int Abs(int a)
        {
            if (a > 0)
            {
                return a;
            }
            else
            {
                return (-1) * a;
            }
        }
        //传圆的半径求周长

        //静态变量,在程序一运行时就会分配内存
        //实例变量,在实例化这个类的对象时分配内存
        static double pi=3.14;
        double a = 123.4;
        
        public static double Line(double r)
        {
            //静态方法中不能只用非静态成员
            //非静态方法中可以有静态成员
            return 2 * pi * r;
        }
    }
}

    原文作者:递归算法
    原文地址: https://blog.csdn.net/u010371458/article/details/8991371
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞