请问这种条件判断对吗?我的与答案代码不一样但是运行出来的结果是相同的?求大神指导

package 小白上楼梯递归法;

import java.util.Scanner;

public class DemoTest {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		
		while(true) {
			int n = input.nextInt();
			int b = fbnq(n);
			System.out.println(b);
		}
	}
	static int fbnq(int n) {
		if(n==1) {
			return 1;
		}
		if(n==2) {
			return 2;
		}
		if(n==3) {
			return 4;
		}
		return fbnq(n-1)+fbnq(n-2)+fbnq(n-3);
	}
}

 

如果你的算法在各种情况下都是正确的,那这就是正确的。 对于一个问题,我们会有各种正确的解法,当然不同的算法有效率和可读性,可扩展性的区别。  

好的,谢谢