11 回答

TA貢獻18條經(jīng)驗 獲得超19個贊
/** ?*?@author?de ?* ?*/ public?class?Demo?{ public?static?void?main(String[]?args)?{ int?sum1=1;//定義第一項為1 int?sum2=1;//定義第二項為1 for(int?i=0;i<10;i++) { //一二項都為1 if(i==0||i==1) { System.out.print(1+","); } //其余的都是前兩項的和 else { //前兩項的和 int?flag=sum1+sum2; //把前一項的值賦給前一項的再前面一項 sum1=sum2; //把當前項賦給前一項 sum2=flag; System.out.print(flag+","); } } } }

TA貢獻1條經(jīng)驗 獲得超1個贊
典型的遞歸實現(xiàn),當n=1或者n=2時結(jié)果為function(n)=1,n>2時結(jié)果就是function(n)=function(n-1)+function(n-2)

TA貢獻1條經(jīng)驗 獲得超0個贊
方法1-for循環(huán):
public static int rabbitSeries1(int num){
List<Integer> arr = new ArrayList<Integer>();
if(arr.size()==0){
arr.add(1);
arr.add(1);
}
if(num<=2){
return (int) arr.get(num-1);
}
for(int i=0;i<num-2;i++){
int befTwo = (int)arr.get(i);
int befOne = (int)arr.get(i+1);
arr.add(befTwo+befOne);
}
return (int) arr.get(num-1);
}
方法2-遞歸:
public static int rabbitSeries2(int num){
List<Integer> arr = new ArrayList<Integer>();
if(arr.size()==0){
arr.add(1);
arr.add(1);
}
if(num<=2){
return (int) arr.get(num-1);
}
int befTwo = rabbitSeries2(num-2);
int befOne = rabbitSeries2(num-1);
arr.add(befTwo+befOne);
return (int) arr.get(num-1);
}

TA貢獻29條經(jīng)驗 獲得超12個贊
斐波那契數(shù)列,可以用遞歸方法實現(xiàn) 當i>2時 fun(n) = fun(n-1) + fun(n-2) ,用for 循環(huán)循環(huán)到10就可以實現(xiàn)啦??梢韵葘懗鲮巢瞧醴椒?,然后再去實現(xiàn) for循環(huán) ,層次看起來會好一些。

TA貢獻4條經(jīng)驗 獲得超9個贊
function?fibonacci(n)?{ ??var?arr?=?[1,1]; ??if?(n?<=?2)?return?arr[n-1]; ??for?(var?i?=?1;?i?<?n-1;?i++)?{ ????arr.push(arr[i]+arr[i-1]) ??} ??console.log(arr) ??return?arr[n-1]; }
添加回答
舉報