nga*_*iel -3 c# loops visual-studio
我需要有人给我一个关于如何继续解决这个问题的想法.使用循环计算分数,没有共同的价值.我想得到总和
例如分数:
1 1/5 1/10 1/15 1/20 … 1/290 1/295 1/300
Run Code Online (Sandbox Code Playgroud)
代码片段: -
int sum=0;
for(int i=1;i<=60 ;i++)
{
int sum=1
}
Run Code Online (Sandbox Code Playgroud)
由于使用浮点问题,这些问题实际上是非常重要的,并且就此而言是十进制类型.
接受你想要一个循环解决方案(一个封闭的表格解决方案n确实存在),首先请注意你的系列可以写成
1 + 1/5(1 + 1/2 + 1/3 + ... + 1/60)
Run Code Online (Sandbox Code Playgroud)
然后请注意,使用浮点类型时,一个好的经验法则是首先添加小项.
所以算法就是这种形式
double sum = 0.0;
for (int i = 60; i >= 1; --i){
sum += 1.0 / i;
}
sum = sum / 5 + 1;
Run Code Online (Sandbox Code Playgroud)
注意1.0分子中的; 那就是打败整数除法.
参考:浮点数学是否破碎?
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |