c·c++/c 프로그래밍

조합의 계산

바로이순간 2012. 9. 19. 21:34

#include <stdio.h>

int main() {

    int n, k, i, c=1, x;


    printf("n, k 입력: ");

    scanf("%d%d", &n, &k);


    x=n;

    i=1;

    // 비교회수 k+1번, i의 값이 1,2,3,...,K,k+1때 까지 비교함

    while(i<=k) { // while문의 내부는 k번 실행됨

        c=c*x/i;    // 2번

        x=x-1;       // 1번

        i=i+1;         // 1번

    }                   // 산술연산 횟수는 4k번 실행됨

    printf("C(%d,%d\n)=%d", n, k, c);

    printf("비교회수=%d  산술연산 횟수=%d", i, 4*(i-1));

    return 0;

}


결과: 비교횟수: k+1번, 산순연산회수 4k 번.

'c·c++ > c 프로그래밍' 카테고리의 다른 글

c언어에서 %[^\n] 가 의미하는 것이 무엇인가요 ?  (0) 2012.10.08
주석 제거하기  (0) 2012.10.02
부분집합의 합  (0) 2012.09.19
최대약수구하기-순환호출  (0) 2012.09.19
타일클리어  (0) 2012.09.18