ldcf.net
当前位置:首页 >> C++,写一函数用递归方法求:1+1/2+1/3+1/4+1/5+1/6+... >>

C++,写一函数用递归方法求:1+1/2+1/3+1/4+1/5+1/6+...

当n很大时,有:1+1/2+1/3+1/4+1/5+1/6+...1/n = 0.57721566490153286060651209 + ln(n)//C++里面用log(n),pascal里面用ln(n) 0.57721566490153286060651209叫做欧拉常数 to GXQ: 假设;s(n)=1+1/2+1/3+1/4+..1/n 当 n很大时 sqrt(n+1) = sqrt(n...

写递归函数有三步:①写出迭代公式;②确定递归终止条件;③将①②翻译成代码。 对于本例: 1.迭代公式 f(n) = f(n-1) + 1/n; 2.终止条件 n=1时,f(1) =1 3. float f( int n) { if( n==1) return 1; else return f(n-1)+1.0/n; }

代码如下: #include using namespace std; int sum(int n) { if (n == 0) return 0; return n + sum(n-1); } void main() { cout

#include#include double fun(int n){ if (n < 0) { return 0; } if (n == 1) { return 1; } else { return fun(n-1) + (double)1/n; }} int main(){ int k; scanf("%d",&k); printf("%lf",fun(k)); system("pause");}

#include using namespace std; double sum(int n) { if(n==1) return 1; else return(1.0/n+sum(n-1)); } int main() { int n; cin>>n; cout

int Sum(int n) { if(n == 1) { return 1; } return n + Sum(n-1); } int main() { int n = 0; cin >> n; int nSum = Sum(n); cout

#include void main() { int f(int i); int sum,n; printf("输入n:"); scanf("%d",&n); sum=f(n); printf("sum=%d",sum); } int f(int i) { if(i==1) return 1; else return f(i-1)+i; return 0; } 正宗的递归函数哦!!

#include /* 辅助函数,舒服打印的规模n,打印出该规模下的一行数字 */ void print_line(int n){ int i; for(i=1; i=1; i--){ printf("%d ",i); } } /* 主递归函数 */ int print_recurse(int n){ if(n>1) print_recurse(n-1); print_line(n); } ...

#include using namespace std; int main() { int f(int i);//声明一个函数f,它的参数是int类型,它的返回值是int类型,i只是随便起的变量名字。f的作用就是求1+...i的和 int sum,n; cin>>n; sum=f(n);//这里调用你写的f函数 cout

#includeusing namespace std;double fun(int n){ if(n==1) return 0.5; return n/1.0/(n+1)+fun(n-1);}int main(){ int n; coutn; cout

网站首页 | 网站地图
All rights reserved Powered by www.ldcf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com