在你面前有一个n阶的楼梯(n>=100且n<500),你一步只能上1阶或3阶。
请问计算出你可以采用多少种不同的方式爬完这个楼梯(到最后一层为爬完)。
import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigInteger; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); BigInteger[] count = new BigInteger[n]; count[0] = new BigInteger("1"); count[1] = new BigInteger("1"); count[2] = new BigInteger("2"); for (int i = 3; i < n; i++) { count[i] = count[i - 1].add(count[i - 3]); } System.out.println(count[n - 1]); } }