前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蓝桥杯JAVA Fibonacci数列

蓝桥杯JAVA Fibonacci数列

作者头像
逝兮诚
发布2019-10-30 12:00:38
4640
发布2019-10-30 12:00:38
举报
文章被收录于专栏:代码人生代码人生

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luo4105/article/details/46383343

比较基础的一道题,可用循环或者递归,以下是我以前用的三种方式写的

1.循环

代码语言:javascript
复制
//数组
代码语言:javascript
复制
<pre name="code" class="java">public static int FibonacciByCycle1(int indexNum){
		int[] Fibonacci=new int[indexNum];
		if(indexNum<=2){
			return 1;
		}
		else{
			Fibonacci[0]=1;
			Fibonacci[1]=1;
			for(int i=2;i<indexNum;i++){
				Fibonacci[i]=(Fibonacci[i-1]+Fibonacci[i-2])%10007;
			}
			return Fibonacci[indexNum-1];
		}
	}
代码语言:javascript
复制
//用变量
public static int FibonacciByCycle(int indexNum){
		int FibonacciFrontOne=1;
		int FibonacciFrontTwo=1;
		int FibonacciCenter=1;
		for(int i=2;i<indexNum;i++){
			FibonacciCenter=FibonacciFrontOne+FibonacciFrontTwo;
			if(FibonacciCenter>=10007){
				FibonacciCenter=FibonacciCenter%10007;
			}
			
			FibonacciFrontTwo=FibonacciFrontOne;
			FibonacciFrontOne=FibonacciCenter;
		}
		return FibonacciCenter;
	}

2.递归

代码语言:javascript
复制
public static int FibonacciByRecurse(int indexNum){
		if(indexNum<=2){
			return 1;
		}else{
			return FibonacciByRecurse(indexNum-1)+FibonacciByRecurse(indexNum-2)%10007;
		}
		
	}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-03-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档