C#语言实现阶乘

我这两用两种方法实现阶乘

1:输出阶乘过程和结果

此处我创建的是控制台应用程序实现:

public static string JieCheng(int number)
    {
        if (number == 0)
        {
            return "";
        }
        double result = 1;
        StringBuilder s = new StringBuilder();
        for (int i = number; i >= 1; i--)
        {
            s.Append( ""+i+" * ");
            result = result * i;
        }
        s.Remove(s.Length - 2,2);
        s.Append("= "+result+"");
        return s.ToString();
    }

    static void Main(string[] args)
    {
        Console.WriteLine("请输入一个数");
        int number = Convert.ToInt32(Console.ReadLine());
        string result = JieCheng(number);
        Console.WriteLine(number.ToString() + "的阶乘结果是:" + result);
        Console.ReadKey();
    }

输出效果图为:

C#语言实现阶乘_第1张图片

2:下边用递归算法实现阶乘
public static int JieCheng(int num)
    {
        if (num == 0)
        {
            return 0;
        }
        if (num == 1)
        {
            return 1;
        }
        else
        {
            return num * JieCheng(num - 1);
        }
    }

    static void Main(string[] args)
    {
        Console.WriteLine("请输入一个数");
        int number = Convert.ToInt32(Console.ReadLine());
        int result = JieCheng(number);
        Console.WriteLine(number.ToString() + "的阶乘结果是:" + result);
        Console.ReadKey();
    }

输出效果图为:
C#语言实现阶乘_第2张图片

你可能感兴趣的:(vs,控制台,递归)