http://imageshack.com/a/img923/5162/R6tZQr.jpg
是应该发生的结果。这是我的代码
static void CalcN()
{
Console.Write(" ");
for (uint n = 1; n <= 9; n++)
{
p = (n*n*(sides-2) - n*(sides-4)) / 2;
Console.Write("{0,3} ", p);
sumOfRecip += (1/p);
}
Console.WriteLine("{0}",sumOfRecip);
}
和我的输出显示&#34; n&#34;的计算是正确的,但是当试图加上倒数之和时,这是错误的。而且我无法使Math.Round与计算倒数一起工作。
Sum of
n=9 recip
--- ------
45 1.8000
81 3.3398
117 4.7504
153 6.0827
189 7.3620
225 8.6031
261 9.8152
297 11.0046
333 12.1756
369 13.3316
405 14.4750
答案 0 :(得分:1)
您可能需要重置sumOfRecip
,以便它不会被添加到。
3.3398 - 1.8 = the value you want.
你应该在sumOfRecip
内设置CalcN()
局部变量,除非你真的需要在该函数之外。尽可能将变量设置为本地变量。