java for循环完成输出(1,1,2,3,5,8,13,21,34...)求出第10个数是多少?

nuli5
浏览 9575回答 11
11回答

xixiyingyi

/**  * @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+","); } } } }

qq_一立_0

是55

IT小书童

典型的递归实现,当n=1或者n=2时结果为function(n)=1,n>2时结果就是function(n)=function(n-1)+function(n-2)

Its_forever

斐波那契数列。java经典问题。百度一下,你就知道。

Quinn_1201

方法1-for循环: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); }

辉扬

斐波那契数列,可以用递归方法实现 当i>2时 fun(n) = fun(n-1) + fun(n-2) ,用for 循环循环到10就可以实现啦。可以先写出斐波那契方法,然后再去实现 for循环 ,层次看起来会好一些。

Dosin

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]; }

small_white

55哈哈

qq___524

斐波那契数列。。

_潇潇暮雨

这是斐波那契数列啊,后面的一个数等于前2项的和,迭代到第10个就行了(21+34=55)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java