循环播放一系列

时间:2011-12-05 17:42:31

标签: c++ algorithm

我有这个问题:

  

编写程序以显示系列1 + 1/2 + 2/3 + 3/4 +的总和...   +(n-1)/ n(使用for循环)。

我不太了解这个系列,如果n = 6,请为我解释。(不需要编码)。

5 个答案:

答案 0 :(得分:3)

对于n = 6,你需要计算1 +(1/2)+(2/3)+(3/4)+(4/5)+(5/6)

答案 1 :(得分:3)

问题是要求您将详细信息填入以下程序:

sum = 0;
for (int i=1; i<=n; ++i) {
    sum += ???
}
return sum;

在哪里???应该给你以下值:

i | ???
-------
1 |  1
2 | 1/2
3 | 2/3
4 | 3/4
5 | 4/5
6 | 5/6
.
.
.
n | (n-1)/n

答案 2 :(得分:1)

很简单。最大的提示是第n个术语:(n-1)/n

除了第一个术语之外,每个其他术语都可以用(i-1)/i形式的表达式表示,这意味着算法归结为:

double sum  = 1.0; //first term
for(int i = 2 ; i <= n ; ++i) //2nd to nth term!
   sum += (i-1.0)/i;

为什么我写(i-1.0)而不是(i-1)

你需要自己解决这个问题,因为我已经解释并编写了几乎整个代码。

答案 3 :(得分:0)

(n-1)/n的每个值编写一个评估n的循环,并将结果添加到某个变量中。 那个&#34;一些变量&#34;是答案。

设置n=6

答案 4 :(得分:0)

系列的最后一个术语也可以写成n / (n + 1),其中n是一个迭代的值。