方法的递归调用

方法的递归调用

       概念:属于方法的自身调用

       例子

1.阶乘的计算

          // 10!

// 递归 ,方法本身调用方法本身

// 注意,防止死循环 设计好出口

 

System.out.println(getNum(5));

//getNum(5)

//5*getNum(4)

//5*4*getNum(3)

//5*4*3*getNum(2)

//5*4*3*2*getNum(1)

 

 

   //求一个数的阶乘

public static int getNum(int num){

if(num==1){

return 1;

}

else{

return num * getNum(num-1);

}

 

2.斐波那契数列

     //1 1 2 3 5 8 13 21.....

//斐波那契数列 第n位的斐波那契数

//0.618

//n-1  n-2

 

 

   public static int getFnum(int n){

if(n==1 ||n==2){

return 1;

}else{

return getFnum(n-1)+getFnum(n-2);

}

}

 

3.最大公约数和最小公倍数

//求两个数的最大公约数

//100,86

//两个整数的最大公约数等于其中 较小的那个数 和两个数的相除余数的最大公约数

//getNum2(num1 num2)   getNum2(num1 num2%num1)

//求两个数最大公约数

public  static int getGcd(int a, int b) {

count++;

if(a>b){

int temp=a;

a=b;

b=temp;

}

//a<b

if(b%a==0){

return a;

}else{

return getGcd(a,b%a);

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值