您的位置:首页 > 其它

产生fibonacci数列的第i个数字(递归实现,非递归实现)

2015-05-27 11:05 169 查看
java代码实现,其中 createf1函数为递归实现,createf2函数为非递归实现

public class Fibonacci {

    public static void main(String[] args){
        int num=10;
        int f1 = createf1(num);
        int f2 = createf2(num);
        System.out.println(f1);
        System.out.println(f2);
    }

    private static int createf2(int num) {
        int[] arr = new int[num];
        if(num==1){
            arr[0]=0;
        }
        else if(num==2){
            arr[1]=1;
        }else{
            arr[0] = 0;
            arr[1] = 1;
            for(int i=2;i<num;i++){
                arr[i]=arr[i-1]+arr[i-2];
            }
        }

        return arr[num-1];
    }

    private static int createf1(int num) {
        int f;
        if(num==1){
            f=0;
        }
        else if(num==2){
            f=1;
        }else{
            f= createf1(num-1)+createf1(num-2);
        }
        return f;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: