您的位置:首页 > 编程语言 > C语言/C++

第六届蓝桥杯校内选拔赛C/C++高职组解题(2)

2014-11-30 10:41 267 查看
1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。

它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。

但是,它发散的很慢:

前1项和达到 1.0

前4项和才超过 2.0

前83项的和才超过 5.0

那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?

请填写这个整数。

注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。

答案

1835421

代码

#include <iostream>
#include <cmath>
#include <string>
#include <windows.h>
#include <stack>
#include <vector>
#include <iomanip>
#include <stack>
#include <set>
#include <map>
#include <cstdio>
using namespace std;
#define N 8
int main()
{
double sum=0;
int k=0;
while(sum<15)
{
k++;
sum+=(double)1/(double)k;
}
cout<<k;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息