如何在 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;
}
请注意,它不适用于大输入值,因为阶乘会很快溢出整数。
我有一个数字 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;
}
请注意,它不适用于大输入值,因为阶乘会很快溢出整数。