Make Fibonacci sequence function. / 피보나치 수열 함수 만들기

Below condition is Fibonacci sequence.


Fibonacci sequence start from 0, 1 and then next number is sum of previous two Fibonacci value.
ex) 011235813213455891442333776109871597, 2584, 4181, 6765, 10946...

Make Fibonacci function~
ex) F(0) = 0, F(1)=1, F(7)=13

----------------------------------------------------

피보나치 수는 0과 1로 시작하며, 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 된다. 
ex) 011235813213455891442333776109871597, 2584, 4181, 6765, 10946...
피보나치 함수를 만들어라
ex) F(0) = 0, F(1)=1, F(7)=13

Comments

  1. Anonymous1/9/11 02:44

    JeKang's Code :

    #include

    void main()
    {
    int Rst[3]={0,1,1};
    int Num=0;
    int Temp=0;
    printf("숫자를 입력하세요. -> ");
    scanf("%d", &Num);

    if(Num==0) Rst[2]=0;
    else{
    for(int i=2;i<Num;i++){
    Temp=Rst[2];
    Rst[2]=Rst[1]+Temp;
    Rst[0]=Rst[1];
    Rst[1]=Temp;
    }
    }
    printf("결과값은 %d 입니다.\n",Rst[2]);
    }

    ReplyDelete
  2. Anonymous2/9/11 00:10

    민현규

    #include

    int a,b,c;
    void fun(int i);

    void main()
    {
    int i;
    scanf("%d",&i);
    fun(i);
    }

    void fun(int i)
    {
    a=0;
    b=1;
    if(i==0)
    printf("0");
    else if(i==1)
    printf("1");
    else
    {
    while(i-1>0)
    {
    c=a+b;
    a=b;
    b=c;
    i--;
    }
    printf("%d ",c);
    }
    }

    ReplyDelete
  3. int Fibonacc(int C);

    void main()
    {
    for(int i=0; i<45; ++i)
    printf("f(%d) = %d\n",i, Fibonacc(i));
    }


    int Fibonacc(int C){

    if(C<0)
    {
    printf("Input Error\n");
    return -1;
    }else if(C<2)
    {
    return C;
    }

    int P0=0;
    int P1=1;
    int P2=0;
    for(int i=2; i<=C; ++i)
    {
    P0 = P1+P2;
    P2=P1;
    P1=P0;
    }

    return P0;

    }

    ReplyDelete
  4. 제강아 잘했다. 그런데 피보나치 부분을 함수로 안만들어서 99.9점이다. Good Job~!!

    ReplyDelete
  5. 현규도 잘했다~. 장난 아닌데? 더 어려운거 내야 겠다. ㅎㅎ
    그런데 함수에서 결과값을 print하지 말고 return 하도록 해라. 그러면 이제 이 피보나치 함수를 이용하여 원하는 입력에 대한 결과 값을 받아 쓸 수 있거든.
    그리고 전역 변수는 그러니깐 너 소스에서 int a,b,c, 전역 변수는 누군가의 실수에 의해서 값이 쉽게 바뀔수 있기 때문에 웬만하면 전역은 쓰지 않는게 좋다.
    수고 했다~ Good Job!!!

    ReplyDelete
  6. Anonymous4/9/11 19:16

    행님코드 참고해서 피보나치부분 함수로 다시 만들었어요.
    앞으로는 함수로 만드는 습관을 좀 길러야 될거 같아요ㅋㅋ


    #include

    int fibo(int Num);

    void main()
    {
    int Num=0;
    printf("숫자를 입력하세요. -> ");
    scanf("%d", &Num);

    printf("결과값은 %d 입니다.\n",fibo(Num));
    }

    int fibo(int Num)
    {
    int Rst[3]={0,1,1};
    int Temp=0;

    if(Num==0) return 0;
    else{
    for(int i=2;i<Num;i++){
    Temp=Rst[2];
    Rst[2]=Rst[1]+Temp;
    Rst[0]=Rst[1];
    Rst[1]=Temp;
    }
    return Rst[2];
    }
    }

    ReplyDelete
  7. 제강 잘한다~ ^^

    ReplyDelete

Post a Comment

Popular posts from this blog

(OpenCV Study) Background subtractor MOG, MOG2, GMG example source code (BackgroundSubtractorMOG, BackgroundSubtractorMOG2, BackgroundSubtractorGMG)

OpenCV Stitching example (Stitcher class, Panorama)

Example source code of extract HOG feature from images, save descriptor values to xml file, using opencv (using HOGDescriptor )

Real-time N camera stitching Class.

Optical Flow sample source code using OpenCV

OpenCV Drawing Example, (line, circle, rectangle, ellipse, polyline, fillConvexPoly, putText, drawContours)

Video Stabilization example source code, (using cvFindHomography, cvWarpPerspective functions in openCV)

SICK LMS511 sensor data acquisition interface (source code, C++/MFC)

8 point algorithm (Matlab source code) / The method to get the Fundamental Matrix and the Essential matrix

Image warping (using opencv findHomography, warpPerspective)