您的位置:首页 > 其它

蓝桥杯练习题 Fibonacci数列

2016-02-17 13:30 281 查看
下学期要跟着学校去参加蓝桥杯,所以在这里自己留念之用。(java)

1

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

import java.util.Scanner;

public class Main{

public static void main(String args[]){

int n;

Scanner sc=new Scanner(System.in);

n=sc.nextInt();

int re[] =new int[n+1];

re[1]=1;

if(n==1||n==2){

System.out.println(re[1]);

}

if(n>2){

for(int i=3;i<=n;i++){

re[2]=1;

re[i]=((re[i-1]+re[i-2])%10007);

}

System.out.println(re
);

}

}

}

开始时把re[2]=1;的赋值放在了re[1]=1;的后面,结果总是90 第一个n=1总是不对,说是数组越界

在纸上写了些才晓得n=1 的时候re[2]不存在,所以要赋值就不行了,所以我把它的赋值放在了n>2

的里面 在前面输出 直接输出re[1],感觉有点投机取巧啊 !!

还有就是为了内存的占用率小,不是每个数都取余 知识对余数 相加取余!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  简单算法