这个题目,和前面的楼梯的题目代码一样样
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st=new StringTokenizer(reader.readLine());
int a=Integer.parseInt(st.nextToken());
int b=Integer.parseInt(st.nextToken());
int N=b-a;
BigDecimal[] arr=new BigDecimal[N+1];
if(N==0){
System.out.println(0);
return;
}else if(N==1){
System.out.println(1);
return;
}else if(N==2){
System.out.println(2);
return;
}
arr[1]=new BigDecimal(1);
arr[2]=new BigDecimal(2);
for (int i = 3; i <=N ; i++) {
arr[i]=arr[i-1].add(arr[i-2]);
}
System.out.println(arr[N]);
reader.close();
}
}
本文介绍了一种使用Java实现斐波那契数列的算法,通过递推公式计算第N项的值,适用于解决楼梯攀登等类似问题。代码采用BufferedReader读取输入,利用BigDecimal类型处理大数值,确保计算精度。
4万+

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



