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

How to multiply each number by minus the number by 1 in C#?

我有一个数字 10,我想将每个数字乘以数字减去 1,类似于:

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

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

试试这个 -

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

        MessageBox.Show(res.ToString());

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

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;
}

请注意,它不适用于大输入值,因为阶乘会很快溢出整数。