为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

nuli5 2016-04-10 13:51:01
查看完整描述

11 回答

已采纳
?
xixiyingyi

TA贡献18条经验 获得超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+",");
			}
		}
	}
}


查看完整回答
4 反对 回复 2016-04-10
?
qq_一立_0

TA贡献5条经验 获得超5个赞

是55

查看完整回答
4 反对 回复 2016-04-10
?
IT小书童

TA贡献1条经验 获得超1个赞

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

查看完整回答
1 反对 回复 2016-04-10
?
Its_forever

TA贡献361条经验 获得超328个赞

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

查看完整回答
1 反对 回复 2016-04-10
?
Quinn_1201

TA贡献1条经验 获得超0个赞

方法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);

}


查看完整回答
反对 回复 2016-04-11
?
辉扬

TA贡献29条经验 获得超12个赞

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

查看完整回答
反对 回复 2016-04-11
?
Dosin

TA贡献4条经验 获得超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];
}


查看完整回答
反对 回复 2016-04-11
?
small_white

TA贡献2条经验 获得超0个赞

55哈哈

查看完整回答
反对 回复 2016-04-11
?
qq___524

TA贡献171条经验 获得超74个赞

斐波那契数列。。

查看完整回答
反对 回复 2016-04-11
?
_潇潇暮雨

TA贡献646条经验 获得超225个赞

这是斐波那契数列啊,后面的一个数等于前2项的和,迭代到第10个就行了(21+34=55)

查看完整回答
反对 回复 2016-04-10
  • 11 回答
  • 0 关注
  • 9374 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信