c++编程..级数求和:求最小的n值。

原问题:c++编程..级数求和:求最小的n值。
分类:编程开发 > 最后更新时间:【2017-08-01 22:36:24】
问题补充:

求恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值。(2 <= x<= 15)

用c++编程哦。

谢谢!

最佳答案

#include<stdio.h>

void main()

{ int n=1;

float s=0.0, x;

scanf("%f",&x);

while(s<=x)

{ s=s+1.0/n;

n++;

}

printf("%n\n",n);

}


追问:
我试了一下,不行-- 追答:
错了一个字母:最后一句改为:printf("%d\n",n);
追问:
还是不行耶o.o
追问:
这道题我纠结了好久了 追答:
刚运行过可以,你看贴图:
追问:
2的答案是4耶 追答:
最后一句改为:printf("%n\n",n-1);

  • 追问:
    谢谢!不过最后一句应该是(“%d\n”,n)
    最佳答案由网友  宛丘山人  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    17

    分享到:

    其他回答

    其它网友回答:
    s=1+1/2+1/3+……+1/n没有通用的求和公式,利用“欧拉公式”(可以查阅相关书籍):s=1+1/2+1/3+……+1/n=ln(n)+C,C为欧拉常数 数值是C=0.577215664901532860651209.剩下的你自己算下吧我算的结果好像是12367 ln(n)>10-Cn>e^(10-C)=12366.968109955823n为整数故n取12367


    追问:
    可是我这个是c++编程o.o||

    其它网友回答:
    #include<bits/stdc++.h>

    其它网友回答:
    using namespace std;

    其它网友回答:
    int main()

    其它网友回答:
    {

    其它网友回答:
    double s=0.0;

    其它网友回答:
    int x;

    其它网友回答:
    cin>>x;

    其它网友回答:
    int i=1;

    其它网友回答:
    while(s<=x)

    其它网友回答:
    {

    其它网友回答:
    s+=(1.0/i);

    其它网友回答:
    i++;

    其它网友回答:
    }

    其它网友回答:
    cout<<i;

    其它网友回答:
    return 0;

    其它网友回答:

    其它网友回答:


    追问:
    这个不对...