- 一个楼梯有n (n >= 1)级,每次走1级或两级,请问从1级台阶走到第n级台阶一共有多少种走法(假设一开始站在第0级台阶上)
package Q1;
import java.util.Scanner;
public class UpStairs {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(method(n));
}
public static int method(int n){
if (n == 1 || n == 0)
return 1;
else
return method(n - 1) + method(n - 2);
}
}
- 计算n条直线最多能把平面分成多少部分? n >= 1
package Q2;
import java.util.Scanner;
public class Line {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(GetParts(n));
}
public static int GetParts(int n){
if (n == 0)
return 1;
else
return GetParts(n - 1) + n;
}
}
- 猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个; 、
第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;
以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。
问第i(i的取值范围为[1, 10])天的桃子个数?
package Q3;
import java.util.Scanner;
public class Peach {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int day = sc.nextInt();
System.out.println(GetPeach(day));
}
public static int GetPeach(int n){
if (n == 10)
return 1;
else
return (GetPeach(n + 1) + 1) * 2;
}
}