非再帰アルゴリズムは1+1+2+3+5+8+を計算する.40番目の数字に加算
595 ワード
package com58.bj.java;
public class Fab {
/**
* @param args
* 1+1+2+3+5+8+.... 40
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(f(40));
}
public static long f(int index) {
// TODO Auto-generated method stub
if(index < 1)
{
System.out.println("invalid paramter!");
return -1;
}
if(index ==1 || index ==2){
return 1;
}
long f1 = 1L;
long f2 = 1L;
long f = 0;
for(int i=0;i<index-2;i++){
f = f1 + f2 ;
f1 = f2;
f2 = f;
}
return f;
}
}