循环将 int 乘以 lower int
-
26-12-2019 - |
题
我有以下循环:
public int multiply(int Z)
{
//Z=5
for (int i = 1; i <= Z; i++)
{
int Y=Z*i;
return Y;
//i wanna Y multiply x*4*3*2*1 all loops in one result
}
return Z;
}
我想知道该怎么做是:
创建一个新的乘数in = z*4*3*2*1倍数的结果将在控制台写线中:
("value for your loop is " +test.multiply(5));
value for your loop is 120
这可以通过 for
循环还是我错了?
解决方案
我认为你实际上的意思是你想计算 Z 的阶乘。
public int Factorial(int Z)
{
if (Z < 0) then return 0;
int res = 1;
for (int Y = 1; Y <= Z; Y++)
{
res *= Y;
}
return res;
}
其他提示
是的:
public int multiply(int Z)
{
int Y = Z;
for (int i = Z; i > 0; i--)
{
Y *= i;
}
return Y;
}
使用 lambda 进行阶乘:
Func<int, int> factorial = null;
factorial = x => x <= 1 ? 1 : x * factorial(x-1);
var result = factorial(10);
:-)
public int multiply(int Z)
{
int result = Z;
for (int i = 1; i <= Z; i++)
{
int Z*=i;
}
return Z;
}
不隶属于 StackOverflow