package com.ljl.test;
public class Test {
public static void main(String[] args) {
// feibonaqieshulie jisuan f(20)
//yizhi f0=0 f1=1 f2=1 f3=f1+f2=2 f4=2+1=3 f5=3+2=5
int n = 50;
//congxiawangshang
System.out.println(fb_xia(n) );
//congshangwangxia
int[] dp = new int[n];
System.out.println(fb_shang(n,dp));;
}
private static int fb_shang(int n,int[] dp) {
if(n == 0){
return 0;
}
if(n ==1 || n==2){
return 1;
}
int sum = 0;
if(dp[n-1] != 0){
return dp[n-1];
}
sum = fb_shang(n -1,dp) + fb_shang(n-2,dp);
dp[n-1] = sum;
return sum;
}
private static int fb_xia(int n) {
if(n == 0){
return 0;
}
if(n ==1 || n==2){
return 1;
}
int sum = 0;
int pre = 1;
int prepre = 1;
for(int i=3;i<= n;i++){
sum = pre + prepre;
prepre = pre;
pre = sum;
}
return sum;
}
}
斐波那契数列-Java代码实现
于 2025-05-10 10:55:09 首次发布

3万+

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



