Contents

조회 수 7429 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
ax² + bx + c = 0     x 값의 출력

입력 a, b, c          출력(x의 값)
a=0, b=0, c=0        부정
a=0. b=0. c!=0       불능
a=0, b!=0              -c/b
a!=0                     b² - 4ac < 0 인경우 허수
                           b² - 4ac >=0 인경우 2차 방정식의 근의 해 존재

if문으로 작성
#include<stdio.h>

void main(){
    int a, b, c;

    printf("Enter a, b, c : ");
    scanf("%d %d %d", &a, &b, &c);

    if(a==0){
        if(b==0){
            if(c==0) printf("Undefined!!n");
            else printf("Impossible!!n");
        }else printf("-c/b!!n");
    }else{
        if(b*b-4*a*c>=0) printf("Possible!!n");
        else printf("Impossible!!n");
    }
}

조건연산자로 작성
#include<stdio.h>

void main(){
    int a, b, c;

    printf("Enter a, b, c : ");
    scanf("%d %d %d", &a, &b, &c);

    (a==0)?(
        (b==0)?(
            (c==0) ? printf("Undefined!!n") : printf("Impossible!!n")
        ): (
            printf("-c/b!!n")
        )                   
    ): (
        (b*b-4*a*c>=0) ? printf("Possible!!n") : printf("Impossible!!n")
    );
}

switch~case문으로 작성
#include<stdio.h>

void main(){
    int a, b, c;

    printf("Enter a, b, c : ");
    scanf("%d %d %d", &a, &b, &c);

    switch(a){
        case 0 :
            switch(b){
                case 0 :
                    switch(c){
                        case 0 :
                            printf("Undefined!!n");
                            break;
                        case !0 :
                            printf("Impossible!!n");
                            break;
                    }
                    break;
                case !0 :
                    printf("-c/b!!n");
                    break;
            }
            break;        
        case !0 :
            switch((b*b-4*a*b>>31)&1){
                case 0:
                    printf("Possible!!n");
                    break;
                case !0 :
                    printf("Impossible!!n");
                    break;
            }
            break;
    }
}

피보나치수열
#include<stdio.h>

void main(){
        int fib0=0, fib1=1;
        int fib_n, n, i;

        printf("Enter a Number : ");
        scanf("%d", &n);

        for(i=0; i<n; i++){
                fib_n = fib0 + fib1;
                fib0 = fib1;
                fib1 = fib_n;

                printf("%2d. %dn", i, fib_n);
        }
}

재귀함수와 반복함수로 작성^^
#include <stdio.h>

/* 재귀함수(recursive) */
int recur_fibonacci(int n){
    /* f(n) = f(n-2) + f(n-1) 이고 단, f(1)이하가 되면 초기값 1을 리턴 */
    if(n<2) return 1;
    else return recur_fibonacci(n-2) + recur_fibonacci(n-1);
}

/* 반복함수(iterative) */
int iter_fibonacci(int n){
    int f0=0;    /* f(1)의 초기화된 변수 */
    int f1=1;    /* f(2)의 초기화된 변수 */
    int fn;        /* f(3)부터 저장되는 변수 f(3) = f(1) + f(2) ... */

    /* f(n) = f(n-2) + f(n-1) */
    /* n-- 가 음수가 될 때 까지(n번째를 구하기 위해 n번만큼 f(1)~f(n) 까지 루프..) */
    while(n-->0){
        fn = f0 + f1;
        f0 = f1;
        f1 = fn;
    }
    return fn;
}

int main(){
    int n;    /* n번째의 피보나치수열 숫자 */
    int r;    /* 재귀함수 결과 */
    int i;    /* 반복함수 결과 */

    /* 피보나치 수열의 n번째를 구할것인지 입력 */
    printf("Enter a Number : ");
    scanf("%d",&n);
    
    /* 재귀함수 실행 */
    r = recur_fibonacci(n);

    /* 반복함수 실행 */
    i = iter_fibonacci(n);

    /* 결과 출력 */
    printf("Recursive %dth fibonacci Number : %d
", n, r);
    printf("Iterative %dth fibonacci Number : %d
", n, i);

    return 0;
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
825 System/OS [linux] 리눅스 활용 팁^^ hooni 2003.04.23 14682
824 System/OS [linux] 리눅스 파일시스템과 디렉토리 설명 hooni 2013.04.23 26927
823 System/OS [linux] 랜카드가 2개 일 때 네트워크 설정 hooni 2003.04.23 30112
822 System/OS [linux] 랜카드 2개 설정 & iptables 로 사설 ip.. hooni 2003.04.23 14771
821 System/OS [linux] 데스크탑환경(GNOME/KDE) 바꾸기.. hooni 2003.04.23 12178
820 System/OS [linux] 데비안(debian.org) 리눅스 명령어 예제 hooni 2006.04.23 10488
819 System/OS [linux] 네트웍 트래픽 모니터링(MRTG) hooni 2003.04.23 42160
818 System/OS [linux] 네트워크 커널 설정.. hooni 2003.04.23 16528
817 Develop [linux] 날짜나 파일의 내용으로 검색하는 방법(find 명령 사용) hooni 2013.04.23 8142
816 System/OS [linux] 꿀통(honeyd) 설치하기.. 메뉴얼 과정 6 file hooni 2006.04.23 20287
815 System/OS [linux] 기존 환경설정 저장하면서 커널 컴파일.. hooni 2003.04.23 13518
814 System/OS [linux] 기본적인 설정하기(내공쌓기) hooni 2003.04.23 14044
Board Pagination Prev 1 ... 25 26 27 28 29 30 31 32 33 34 ... 98 Next
/ 98