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...

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

写递归函数有三步:①写出迭代公式;②确定递归终止条件;③将①②翻译成代码。 对于本例: 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

实用的阶乘算法是挺复杂的,因为ULONGLONG也放不下,要用数组进行保存,这才是重点,具体你可以参考1000的阶乘,百度有源代码

#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

#include using namespace std; int factorial(int n) { if(1==n) return 1; else return n*factorial(n-1); } int main() { int n; coutn; cout

#include int jc(int n) { int i,sum=1; for (i=1;i

排列还比较好理解。可以想象我们手动进行排列,比如对于1,2,3这个序列,我们要输出它的所有排列,那么正常情况下我们怎么做这个排列呢? 我们肯定是先在这个序列中选出一个数,之后再在剩余的序列中继续选,直到最后一个数(此时我们不用选了...

/*x^n的值必须小于32767,否则输出的就是负数。因为,int只有这么大,正常的pow函数应该是float型或是double型,参数也应是float或是double型。*/ #include int power(int x,int n){ if (n>1) { return x*power(x,n-1); } else { if (n>0) retur...

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