2016-10-04 65 views
-4

我在想办法解决这个问题时遇到了麻烦。启动算法时遇到问题

X定义如下。对于n = 1,x = 0.5,n = 2,x = 0.833。随着添加更多项,X增加。计算其中X大于4的n。首先编写算法,然后在C中实现代码。

x = 1/2 + 1/3 + ... 1/n + 1答案:n = 83

我敢肯定的唯一的事情是,它使用了loop.At第一,我想这样

For(int i = 0; i <= n..... 

似乎不是接近though.I dunno..Can我得到一个提示从哪里开始?

+1

SO不是代码编写服务。试一试吧。如果您遇到困难,请寻求帮助。但我们不会为你这样做。 – nhouser9

+0

提示:“对于n = 1” - >开始条件。 “X变大于4” - >结束条件。 “添加更多条款” - >步骤条件。 (增加'n')。身体“x =比以前更多的东西” – chux

+0

想想我和n在这个'x = 1/2 + 1/3 + ... 1/n + 1'之间的关系 – hatchet

回答

0

你很明显会计算部分和X.n,并停止当X.n < 4和X.n + 1> 4。

为了计算部分和,保持一个累加器变量和添加后的其他

n= 0 
S= 0 
// Repeat the following instructions 
    n+= 1 
    S+= 1/(n+1) // Now, S = X.n 

仍然找到停止条件的级分之一。由于S的值从0增加,我们会为S超过4换句话说,一旦停下来,继续只要S保持低于4

n= 0 
S= 0 
while S < 4 
    n+= 1 
    S+= 1/(n+1) // Now, S = X.n 

翻译,为C语法。

仍然要注意X.n = 4的可能性。