'Coding'에 해당되는 글 358건

  1. 2013.06.20 fibonacci 수열
  2. 2013.06.06 피보나치 수열
  3. 2013.05.24 함수 실행 시간 측정
  4. 2013.05.19 오일러의 등식
  5. 2013.05.19 Sinppely ( Code snippet tool )
  6. 2013.05.13 fall-through
  7. 2013.05.06 KMP algorithm
  8. 2013.03.08 초간단 보이스 레코더
  9. 2013.02.26 ChoboSMS
  10. 2013.01.31 23000000000000000 ( 2경 3천조 )
Coding/Python 삽질기2013. 6. 20. 01:06

tempResult = [0, 1, 1];


def fibonacci (number):

   if ( number == 1 or number == 2):

      return 1

   if ( tempResult[number] == -1 ): 

      result = fibonacci ( number-1 ) + fibonacci ( number-2 )

      tempResult[number] = result

   

   return tempResult[number]

   

      

for idx in range(3,1001):

    tempResult.insert(idx, -1)   

      

for idx in range(1,1001):

    print idx," : ",fibonacci(idx)


위와 같이 사용하면, 재귀일지라도 매우 빠른 속도로 1부터 1000까지의 피보나치 수열의 값을 구할 수 있다.

더 빠르게 계산하는 방법은 아래와 같다.  


def fibonacci2 (number):

   if ( number == 1 or number == 2):

      return 1

   

   previous =  1

   result   =  1

   sum      =  0

   

   for i in range(3, number+1):

       sum = result + previous

       previous = result

       result = sum

       print i," : ",result

       

   return result

 

fibonacci2(1000)    




1-1000까지 피보나치 수열의 값 : finbonacci_1000.txt


Posted by chobocho
Coding/CPP 삽질기2013. 6. 6. 22:46

동적알고리즘을 이용한 피보나치 수열 


int arrFibonacci[100000] = { 0, };


int fibonacci ( int number ) {

    int ret = 0;

    

    if ( number <= 0 ) {

        ret = -1;

    }

    else if ( number == 1 || number == 2  ) {

          ret = 1;    

    } else {

    if ( arrFibonacci[number] == 0 ) { 

            arrFibonacci[number] = fibonacci(number-1) + fibonacci(number-2);  

         }

         ret = arrFibonacci[number];

    }

    

    return ret;

}


'Coding > CPP 삽질기' 카테고리의 다른 글

Programming 실습 예제  (0) 2014.03.28
함수 실행 시간 측정  (0) 2013.05.24
fall-through  (0) 2013.05.13
Posted by chobocho
Coding/CPP 삽질기2013. 5. 24. 01:13

#include <ctime>

using namespace std;

void ellaspedTimeTest() { clock_t start_time; clock_t end_time; start_time = clock();


//Do something ...

end_time = clock(); ellasped_time = (double)(end_time - start_time)/CLOCKS_PER_SEC;

}

'Coding > CPP 삽질기' 카테고리의 다른 글

피보나치 수열  (0) 2013.06.06
fall-through  (0) 2013.05.13
Programming quiz  (0) 2012.10.25
Posted by chobocho
Coding/Math2013. 5. 19. 22:51




[ 참고 사이트 ]

http://ko.wikipedia.org/wiki/%EC%98%A4%EC%9D%BC%EB%9F%AC%EC%9D%98_%EB%93%B1%EC%8B%9D

http://navercast.naver.com/contents.nhn?rid=22&contents_id=2420


'Coding > Math' 카테고리의 다른 글

23000000000000000 ( 2경 3천조 )  (0) 2013.01.31
홀수의 합으로 제곱근 구하기  (0) 2012.06.01
[Math] 사선 공식  (0) 2011.09.12
Posted by chobocho
Coding/Tip2013. 5. 19. 22:30

코드 조각을 관리 하기 위한 툴을 찾다가, 괜찮은게 있어서 소개 합니다.



다운로드 주소 : https://code.google.com/p/snippely/





'Coding > Tip' 카테고리의 다른 글

[Mac] Screen shot 을 Drop box 에 저장되게 하기  (0) 2014.11.29
SVN Local 저장소 사용법 간단 정리  (0) 2011.09.03
3시 15분 0초의 각도  (0) 2011.03.01
Posted by chobocho
Coding/CPP 삽질기2013. 5. 13. 23:29

switch ( number ) {

    case 1:

         cout << "My "; 

         /* fall through */

    case 2:

         cout << "name ";

         /* fall through */

    case 3:

         cout << "is ";

         /* fall through */

    case 4:

         cout << "H.";

         break;

    default:

          cout << endl;

}

'Coding > CPP 삽질기' 카테고리의 다른 글

함수 실행 시간 측정  (0) 2013.05.24
Programming quiz  (0) 2012.10.25
Unity3D (1)  (0) 2011.09.08
Posted by chobocho
Coding/Python 삽질기2013. 5. 6. 00:43

def KMP_Preprocessing(pattern, nSize):

    pi = [0] * (nSize + 1)

    k = -1

    j = 0

    pi[j] = k

    

    while ( j < nSize ):

        if ( k == -1 or pattern[j] == pattern[k] ):

            j += 1

            k += 1

            pi[j] = k

        else:

            k = pi[k]

            

    return pi



def KMP_find(text, pattern, ppi):

    nSize = len(text)

    nPSize = len(pattern)

    i = 0

    j = 0


    while (i < nSize):

        if ( j == -1 or text[i] == pattern[j] ): 

            i += 1

            j += 1

        else:    

            j = ppi[j];


        if (j == nPSize):

            print i-j

            j = ppi[j];


strPattern = "ababababca"

strPattern_pi = KMP_Preprocessing(strPattern, len(strPattern) )


strString ="asdsadf9alkjababababcaasdf"

KMP_find(strString, strPattern, strPattern_pi)






'Coding > Python 삽질기' 카테고리의 다른 글

fibonacci 수열  (0) 2013.06.20
10000개의 겹치는 않는 좌표 만들기  (0) 2012.11.07
[Python] Undo / Redo 구현하기  (0) 2011.06.16
Posted by chobocho
Coding/Java 삽질기2013. 3. 8. 01:34


버튼을 누르는 동안만 녹음 되는 심플 녹음기

'Coding > Java 삽질기' 카테고리의 다른 글

1. 온라인 테트리스 만들기 ( 이클립스 설치 )  (1) 2014.01.03
ChoboSMS  (0) 2013.02.26
Time stamp app  (0) 2013.01.26
Posted by chobocho
Coding/Java 삽질기2013. 2. 26. 00:04

특정번호에서 온 메시지를 표시해 주는 앱

'Coding > Java 삽질기' 카테고리의 다른 글

초간단 보이스 레코더  (0) 2013.03.08
Time stamp app  (0) 2013.01.26
ChoboAlarm V0.39  (0) 2012.12.01
Posted by chobocho
Coding/Math2013. 1. 31. 00:18

어제 호주에서 2경 3천조 가치의 유전 발견되 었다고 한다.


2경 3천조 ( 23000000000000000 ) 는 얼마나 되는 금액일까?


1) 500원짜리로 쌓으면?

    23000000000000000 / 500  * 1.72mm / 10 / 100 / 1000 = 79120000 km 가 된다.

    * 지구에서 달까지 거리 334400Km

    * 지구에서 태양까지 거리 15000000Km

    즉, 지구에서 태양까지 거리의 중간 쯤 된다.


2) 50000원짜리로 쌓으면?

    23000000000000000 / 500  * 0.11mm / 10 / 100 / 1000 = 50600km 가 된다.

    * 지구의 둘레가 약 4만 120Km로, 50000원 짜리를 세로로 지구룰 감싸도, 

       지구를 한 바퀴 감고도 남는다.


3) 대한민국 국민 5000천만명에게 나누어 줄 경우

   23000000000000000 / 50000000 = 460000000

   한 사람당 4억 6천 만원씩 줄 수 있는 금액이다.



'Coding > Math' 카테고리의 다른 글

오일러의 등식  (0) 2013.05.19
홀수의 합으로 제곱근 구하기  (0) 2012.06.01
[Math] 사선 공식  (0) 2011.09.12
Posted by chobocho