我想写这个等式:
1+(2/n!)+(3/n!)+...+(n/n!),
但结果始终等于 1。错误的代码在哪里?我的代码:
Console.Write("Please Enter Your Number: ");
int num = int.Parse(Console.ReadLine());
int fact = 1;
for (int i = num; i > 1; i--)
{
fact *= i;
}
Console.WriteLine("Fact= " + fact);
float result = 1;
for (int i = 2; i >= num; i++)
{
result += (i / fact);
}
Console.WriteLine("Result= " + result);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
因为这不会循环
for (int i = 2; i >= num; i++)
如果您在调试中跟踪了它,那将是显而易见
的<=
在牵连演员身上,这个(i / fact)
很可能是在演员之前进行的,所以演员的事实浮出水面。 (浮动)事实。
您没有整数/十进制
您可以使用十进制而不是浮点数