我有一个数字10,我想将每个数字乘以减去1的数字,如下所示:
10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1
然后是结果。 如何在C#中处理这个问题?
答案 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());