在c中,数学是正确的,输出是错误的.计算往复运动的总和
本文关键字:计算 运动 错误 输出 | 更新日期: 2023-09-27 18:04:03
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);
}
我的输出显示了"n"的计算是正确的,但当试图添加倒数之和时,它是错误的。我不懂数学。四舍五入计算倒数。
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
您可能需要重置sumOfRecip
,这样它就不会一直添加到中
3.3398 - 1.8 = the value you want.
您应该将sumOfRecip
设为CalcN()
内部的局部变量,除非您真的需要在该函数之外使用它。使变量尽可能地为局部变量。