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的阶乘,百度有源代码

#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

/**注意:调用的时候,要保证 参数a>=b。如gcd(12,6) 不能写为gcd(6,12); 算法原理:欧几里德算法 返回:a 和 b 的 最大公约数 */int gcd(int a,int b){if(b==0) return a;else return gcd(b,a%b);}

#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 using namespace std; int sum_1(int); int main() { int n; coutn; cout

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