【发布时间】:2015-03-28 10:30:50
【问题描述】:
大家好,我尝试用 c# 编写一个计算 1 + 1!/X + 2!/X^2 + ... + N!/X^N 的程序,但它给出了错误的结果,我尝试调试它,但找不到错误谁能帮我解决这个问题?
Console.WriteLine("Calculate 1 + 1!/X + 2!/X^2 + … + N!/X^N");
Console.Write("N:");
double n = double.Parse(Console.ReadLine());
Console.Write("X:");
double x = double.Parse(Console.ReadLine());
double result = 1;
int ifac = 1;
for (int i = 1; i <= n; i++)
{
for (int j = i; j >= 1; j--)
{
ifac *= j;
}
result += ifac / Math.Pow(x, i);
}
Console.WriteLine(result);
【问题讨论】:
-
您在调试时发现了什么?值在哪一步变得不正确?
-
你不需要每次都计算 fac。只需通过将前一个与 (i/x) 相乘来重新计算每个和数
标签: c# for-loop calculator