上楼梯(斐波那契数的高级用法) 牛客练习题

import java.util.Scanner;
public class 上楼梯 {
public int countWays(int n){
int a = 1,b = 2,c = 4;
if (n== 1){
return a;
}else if (n == 2){
return b;
}else if (n == 3){
return c;
}else {
for (int i = 4 ;i <= n;i++){
int temp = ((a+b)%1000000007+c)%1000000007;
a = b;
b = c;
c = temp;
}
return c;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
上楼梯 a = new 上楼梯();
System.out.println("返回:"+a.countWays(n));
}
}
1818

被折叠的 条评论
为什么被折叠?



