当前位置: 移动技术网 > IT编程>开发语言>c# > C# 实现阶乘 (递归,非递归) 实现代码

C# 实现阶乘 (递归,非递归) 实现代码

2019年07月18日  | 移动技术网IT编程  | 我要评论
//main:复制代码 代码如下:using system;using system.collections.generic;using system.linq;using

//main:

复制代码 代码如下:

using system;
using system.collections.generic;
using system.linq;
using system.text;

namespace factorial
{
    class program
    {
        static void main(string[] args)
        {
            function obj = new function();
            console.writeline("would you like to know which number of factorial:");
            int number = convert.toint32(console.readline());
            console.writeline();
            console.write("the fibonacci of {0} is:{1}", number, obj.factorial(number));
            console.writeline();
            console.write("the factorialrecursion of {0} is:{1}", number, obj.factorialrecursion(number));
            console.readkey();
        }
    }
}


 //class:
 
复制代码 代码如下:

 using system;
using system.collections.generic;
using system.linq;
using system.text;

namespace factorial
{
    class function
    {
        /// <summary>
        /// factorial定义为:
        ///      ┌ 1        n=0      
        ///   n!=│
        ///      └ n(n-1)!  n>0
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        public int factorial(int number)
        {
            if (number != 0)
            {
                return number * factorial(number - 1);
            }
            else if (number == 0)
            {
                return 1;
            }
            return number;
        }

        public int factorialrecursion(int number)
        {
            int f = 1;
            for (int i = 1; i <= number; i++)
            {
                f *= i;
            }
            return f;
        }
    }
}


截图:

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网