藍橋杯 C本科B組 調和級數無限逼近
阿新 • • 發佈:2019-02-07
1/1 + 1/2 + 1/3 + 1/4 + ... 在數學上稱為調和級數。
它是發散的,也就是說,只要加上足夠多的項,就可以得到任意大的數字。
但是,它發散的很慢:
前1項和達到 1.0
前4項和才超過 2.0
前83項的和才超過 5.0
那麼,請你計算一下,要加多少項,才能使得和達到或超過 15.0 呢?
請填寫這個整數。
注意:只需要填寫一個整數,不要填寫任何多餘的內容。比如說明文字。
這是第六屆藍橋杯校內預選賽的題目,呵呵,其實看下來,藍橋杯前幾題都是在考數論。第六屆不定方程應該是重點.
#include<iostream> using namespace std; #define min 10e-10 int main() { int i=0; double sum=0.0; do { ++i; sum=sum+1*(1.0)/i; }while(sum-15.0<min); cout<<i<<endl; return 0; }
可以測試一下
#include<cstdio>
using namespace std;
#define min 10e-10
int main()
{
double sum=0.0;
for(int i=1;i<=1835421;++i)
{
sum=sum+1*(1.0)/i;
}
printf("%.20lf\n",sum);
return 0;
}