吃桃子问题:第一天摘了n个桃子,吃了一半多一个,以后每天吃剩下的一半又一个,到第十天早上的时候只剩下一个。求第一天桃子数。
public class Peach {
public static void main(String main[]) {
System.out.println(eat(1));
}
public static int eat(int n) {
int rest;
if(n==10) {
return 1;
}
else{
rest=eat(n+1);
rest=(rest+1)*2;
}
return rest;
}
}
乌鸦喝水:第一天喝一杯,第二天喝二分之一,以后每天喝剩下的一半,到第n天喝了多少?
public class Icar {
public static void main(String args[]) {
double drunk=water(10);
System.out.println(drunk);
}
public static double water(int n) {
double drink;
if(n==1) {
drink=1;
return drink;
}
n--;
return drink=water(n)*1.5;
}
}
上楼梯、跳方格:跳n格,每次可以跳一格或者两格,有多少种方法可以跳到最后?
观察可以得知,每次的可能性其实是个斐波那契数列。照着斐波那契数列算就可以了。
public class Icar {
public static void main(String args[]) {
int jumpnumeber=jump(3);
System.out.println(jumpnumeber);
}
public static int jump(int n) {
if(n==1) {
return 1;
}
if(n==2) {
return 2;
}
else{
int n1=1;
int n2=2;
int add=0;
for(int i=3;i<=n;i++) {
add=n1+n2;
n1=n2;
n2=add;
}
return add;
}
}
}