ldcf.net
当前位置:首页 >> C++,用递归调用求1+2+3+4+5+6+7+8+9+10的和 >>

C++,用递归调用求1+2+3+4+5+6+7+8+9+10的和

/**注意:调用的时候,要保证 参数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;int f(int n){ if (n == 1 || n == 2) { return 1; } return f(n -1) + f(n-2);}int main(){ for (int i = 1; i

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

楼上的是伪递归,看起来是递归调用了,其实,还是双重循环,没有巧妙的使用到递归。 代码如下: #define PLUS 7//递归寻找配对void find(int num, int arr[], int arrSize) {if (arrSize == 0) {return;}if (*arr + num == PLUS) {printf("%d,%3...

递归函数最核心的就是参数的变化和返回条件。 对于你这个stringReverse,过程是这样的 假设s是"abc",长度3 第1层:start = 0,走stringReverse(s, 1) 第2层:start = 1, 走stringReverse(s, 2) 第3层:start = 2,走stringReverse(s, 3) 第4层...

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

#include using namespace std; long fact(int n){ if(n==0) return 1; else return n*fact(n-1); } int main(){ long t=0; int i,n; cin >>n; for(i=1; i

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

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