피보나 첩 수열

1681 단어

Python


비귀속 방식으로 피보나치 수열을 실현하다

fib = [0,1]

for i in range(8):
    fib.append(fib[-1] + fib[-2])

print fib # result: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

돌아가는 방식으로 피보나치 수열을 실현하다

fib = [0,1]

generatefib(fib,n):
    if(n == 2):
        return fib
    else:
        fib.append(fib[-1] + fib[-2])
        return generatefib(fib,n-1)

print generatefib(fib,10) # result: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

Java


비귀속 방식으로 피보나치 수열을 실현하다

package org.coderinfo.demo;

import java.util.ArrayList;
import java.util.List;

public class Fibo {
	
	private static List<Long> list;
	
	public static void main(String[] args) {
		printFibo();
	}
	
	public static void printFibo(){
		list = new ArrayList<Long>();
		list.add(0L);
		list.add(1L);
		
		for(int i=0; i<8; i++){
			list.add(list.get(list.size()-1) + list.get(list.size()-2));
		}
		
		System.out.println(list.toString()); // result: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
	}
}

돌아가는 방식으로 피보나치 수열을 실현하다

package org.coderinfo.demo;

import java.util.ArrayList;
import java.util.List;

public class Fibo {
	private static List<Integer> list = new ArrayList<Integer>();
	
	public static void main(String[] args) {
		list.add(0);
		list.add(1);
		
		System.out.println(generateFibo(list, 10).toString());
	}
	
	public static List<Integer> generateFibo(List<Integer> list,int n){
		
		if(n == 2){
			return list;
		}else{
			list.add(list.get(list.size()-1) + list.get(list.size()-2));
			return generateFibo(list, n-1);
		}
	}
}

좋은 웹페이지 즐겨찾기