注意!答案仅作为参考(实际考试中下列代码通过用例百分百,但不代表最优解

一天一只顽猴想要从山脚爬到山顶
途中经过一个有n个台阶的阶梯,但是这个猴子有个习惯,每一次只跳1步或3步
试问?猴子通过这个阶梯有多少种不同的跳跃方式

输入描述:
        输入只有一个这个数n    0<n<50
        此阶梯有多个台阶
      输出描述:
        有多少种跳跃方式

      实例:
       输入
         50
       输出
          122106097

       输入
          3
       输出
          2
 import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        int f1 = 1;
        int f2 = 1;
        int f3 = 2;
        int f4 = n == 1 || n == 2 ? 1 : 2;
        for (int i = 4; i <= n; i++) {