如何在C#中将每个数字乘以减去1的数字?

时间:2015-01-21 09:02:43

标签: c# multiplying

我有一个数字10,我想将每个数字乘以减去1的数字,如下所示:

  

10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1

然后是结果。 如何在C#中处理这个问题?

2 个答案:

答案 0 :(得分:3)

这是一个简单的因子函数。您可以使用递归方法:

unsigned int Factorial(unsigned int val)
{
    return (1 == val)? 1 : Factorial(val - 1);
}

或迭代方法:

unsigned int Factorial(unsigned int val)
{
    unsigned int result = val;
    while(1 < --val)
    {
        result *= val;
    }
    return result;
}

请注意,它不适用于大输入值,因为teh factorial会快速溢出整数。

答案 1 :(得分:-1)

试试这个 -

        var res = 1;
        for (int num = 10; num > 0; num--)
            res += res * (num - 1);

        MessageBox.Show(res.ToString());