解题思路:
这道题同意运用的是分支策略,先求出每一子问题的解,通过子问题的解得到全问题的解。
通过a[i]=a[i-1]+a[i-2]将结果集输出到一个定义好的数组中,再想取出哪个值时就取哪个值。
注意输出格式。
Source Code:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//输出结果集
int[] a = new int[46];
a[0] = 1;
a[1] = 2;
for(int i = 2;i <= 45;i++){
a[i]=a[i-1]+a[i-2];
}
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int j =1;
while(n>0){
int m =in.nextInt();
System.out.println("Scenario #"+j 、+":");
System.out.println(a[m]);
System.out.println();
n--;
j++;
}
}
}
本文介绍了一种使用分支策略解决斐波那契数列问题的方法,通过递推公式a[i]=a[i-1]+a[i-2]预计算并存储数列值,实现快速查询。代码采用Java编写,适用于输入多个数列位置值的场景。
1113

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



