循环一个级数

looping for a series

本文关键字:一个 循环      更新时间:2023-10-16

我有一个问题:

编写程序显示1+1/2+2/3+3/4+…+(n-1)/n(使用for循环).

我没有很好地理解这个系列,如果n = 6请为我解释一下。(无需编码)。

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

问题要求您填写以下程序的详细信息:

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

很简单。最大的提示是第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) ?

您需要自己弄清楚,因为我已经解释并编写了几乎整个代码。

编写一个循环,对n的每个值计算(n-1)/n,并将结果添加到某个变量中。"某个变量"就是答案。

Set n=6

级数的最后一项也可以写成n / (n + 1),其中n是一个迭代的值