메뉴 건너뛰기

app

피보나치 수열

박영식2002.04.18 19:29조회 수 3268댓글 0

  • 1
    • 글자 크기
피보나치 수열의 지정항의 수열을 표시하고, 그 항까지의 합을 구하는 프로그램.-업로드 파일은 주석문이 없음.

#include <stdio.h>
void main()
{
/*지정 항까지의 합을 구하도록 했습니다. if문과 for문을 썼습니다. */
/* long형 변환까지는 못 해서, 큰수를 입력하면, 엉뚱한 숫자가 나오게 됩니다. */
/* (sum은 21항 까지, hang은 23항까지) */
        int a=1,b=1,c=0,n=0,i,m,sum=0; /*변수를 선언합니다*/
        printf("n hahaha myut hang?"); /*몇 항을 묻습니다*/
        scanf("%d",&n); /*숫자를 입력 받습니다*/
        m=n-2; /*몇 번 반복할지 구하는 변수 m*/
        i=m/3; /*몇 번 반복할지 구하는 변수 i*/
        if (n>=3) /*항이 3보다 작은 수를 제외 하는 if문*/
        {
        if (m%3==0) /*n이 5, 8, 11 항일 때 구하는 if 문*/
        for(sum=a+b;i>0;i--) /*for문 시작 i가 0일 때 제외, 합을 a+b로 지정*/
        {c=a+b;/*2=1+1*/ /*첫번째 연산 예시 주석과 첫항+두번째항*/
         sum=sum+c; /*첫항+둘째항에 셋째항을 더함(6째항, 9째항, 12째항.... 더함) */
         a=b+c;/*3=1+2*/ /*두번째 연산 예시 주석과 두번째항+세번째항을 새로운 넷째항에 넣음(변수를 a로 유지했음-반복할 때 쓰이게 됨)*/
         sum=sum+a; /*넷째 항까지 더함(7째항, 10째항, 13째항.... 더함)*/
         b=c+a;/*5=2+3*/ /*세번재 연산 예시 주석과 세번째항+네번째항을 새로운 다섯번째항에 넣음(변수를 b로 유지함-역시 반복에 쓰임)*/
         sum=sum+b; /*다섯째 항까지 더함(8째항, 11째항, 14째항.... 더함)*/
        }
        else /*n 이 5, 8, 11.... 항이 아닐 때.*/
        for(sum=a+b;i>=0;i--) /* for문 시작 i가 0일 때도 계산함, 합을 a+b로 지정*/
        {c=a+b; /*첫항+둘째항*/
        sum=sum+c; /*첫항+둘째항에 셋째항을 더함(6째항, 9째항, 12째항.... 더함) */
        a=b+c; /*둘째항+셋째항*/
        sum=sum+a; /*넷째 항까지 더함(7째항, 10째항, 13째항.... 더함)*/
        b=c+a; /*셋째항+넷째항*/
        sum=sum+b; /*다섯째 항까지 더함(8째항, 11째항, 14째항.... 더함)*/
        }
        if((n-1)%3==0) /*4, 7, 10... 항일 때,*/
        printf("hang=%d sum= /*항 값과 합값 출력*/
        else if(n%3==0) /*3, 6, 9... 항일 때,*/
        printf("hang=%d sum= /*항 값과 합값 출력*/
        else /*쓰진 않았지만, 5, 8, 11... 항일 때,*/
        printf("hang=%d sum= /*항 값과 합값 출력*/
        }
        else if(n==1) /*1을 입력했을 때의 값*/
        printf("hang=1 sum=1");
        else if(n==2) /*2를 입력했을 때의 값*/
        printf("hang=1 sum=2");
        else /*음수를 입력했을 때의 값*/
        printf("again for n<=0");
}
박영식 (비회원)
  • 1
    • 글자 크기
do while로 구구단 출력 (by 박영식) 각 언어의 알고리즘 소스 코드 (by 박영식)

댓글 달기

이전 1 ... 5 6 7 8 9 10 11 12 13 14 다음
첨부 (1)
fibonaci.c
645Bytes / Download 54
위로