在c#中,数学是正确的,输出是错误的。计算倒数之和

时间:2016-08-25 15:50:24

标签: c# math

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

1 个答案:

答案 0 :(得分:1)

您可能需要重置sumOfRecip,以便它不会被添加到。

3.3398 - 1.8 = the value you want.

你应该在sumOfRecip内设置CalcN()局部变量,除非你真的需要在该函数之外。尽可能将变量设置为本地变量。