题解 P1035 【级数求和】

夜雨声烦hst

2017-12-15 20:52:58

Solution

这道题我们可以用递归来做,避免时间的浪费,当递归找到那个数值之后,直接cout出来。#include<iostream> ```cpp #include<cstdio> using namespace std; double search(double,double); double n,t=1; double print(double); int main() { cin>>n; search(n,0);//搜索模块。 } double search(double x,double sum)//下面就是调用的深搜模块。 { sum=sum+1/t; t++; if(sum>n) print(t);//调到输出的子程序 else return search(x,sum);//深搜 } double print(double q) { cout<<q-1; return 0; } ``` 下面是原来的做法 ```cpp #include<iostream> #include<cstdio> using namespace std; double sum=0; int main() { double n; cin>>n; for(double i=1;i<=1000000;++i)//要小心范围,小了是不可以的。 { sum=sum+1/i; if(sum>=n) { cout<<i; return 0; } } } ``` 恩,各位大佬求别嘲笑! 珂朵莉太可爱啦!