(递归)斐波那契函数与猴子吃桃

递归用法非常的依赖数学能力与逻辑思维能力。对于数字要有很强的敏感性,找出数字之间的规律。

public class MethodExercise021 { 
	//编写一个main方法
	public static void main(String[] args) {
    // Person p = new Person();
    // p.name = "xiaofang";
    // p.age = 10;
    // //创建tools对象
    // MyTools tools = new MyTools();
    // Person p2 = tools.copyPerson(p);

    // //p与p2是Person对象,但是是两个独立的对象,属性相同
    // System.out.println("p的属性 age=" + p.age + "名字=" + p.name);
    // System.out.println("p2的属性 age=" + p2.age + "名字=" + p2.name);
    // System.out.println(p == p2);
    T t1 = new T();
    int n = 7;
    int res = t1.fibonacci(n);
    if (res != -1) {
    System.out.println("斐波那契函数res=" + res);
  }
    int day = 8;
    int peachSum = t1.MonkeyPeach(day);
    if (peachSum != -1) {
        System.out.println("第" + day + "天桃子有:" + peachSum);
    }
  }
}

class Person {
	String name;
	int age;
}

class MyTools {
	public Person copyPerson(Person p) {
    Person p2 = new Person();
    p2.name = p.name;
    p2.age = p.age;
    return p2;
	}
}
class T {
    //斐波那契函数
	public int fibonacci(int n) {
    if (n >= 1) {
    if (n == 1 || n == 2) {
       return 1;
    } else {
        return fibonacci(n-1) + fibonacci(n-2);
    }
    } else {
        System.out.println("请输入n>=1的值");
        return -1;
    } 
	}
    //猴子吃桃,一堆桃子,第一天吃其中一半加1,以后每天都是吃一半加1,
    //当到第十天,还没吃就只剩1个桃子。问:有多少桃子?
    //前一天桃子=
    public int MonkeyPeach(int n) {
    if (n == 10) {
        return 1;
    } else if (n >= 1 && n <= 9) {
        return (MonkeyPeach(n + 1) + 1) * 2;
    } else {
        System.out.println("请输入n在1-10内");
        return -1;
    }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值