RadarURL

논문
2012.10.22 01:11

nCr[combination] 구현하기

조회 수 5676 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

GetCombination함수에 n, r의 자연수를 입력하면 coll에 조합방식을 문자열로 반환한다.
함수 리턴값은 조합의 개수이다.

GetCombination();
combination();

두 개의 함수를 구현하고 GetCombination을 call~!!


int GetCombination(int n, int r, CStringArray *coll)
{
      int count = 0;

      CString strTemp = L"";
      CString temp = L"";

      int *c= new int[r+1];   // c에 dynamic array를 이용해 입력받은 r값으로 array의 크기정해줌

 for( int i=1;i<r+1;i++)   // s[0]=1,s[1]=2,..........,s[r-1]=r 이런식으로 값을 할당해줌.
 {        // lexicographic order에 따라 첫번째 combination값을 만들어줌
         c[i-1]=i;
 }

 for( int i=0;i<r;i++)
 { 
       temp.Format( _T("%i"), c[i] - 1 );
       strTemp = strTemp + temp;
 }
       coll->Add( strTemp );
       count++;

 int k;
 k=combination(n,r);    // k는 n,r에대해 가질수 있는 총 Combination갯수를 구한 값

 for( int h=2;h<k+1;h++)
 {
      int m=r-1;
      int max_val=n;

  while(c[m]==max_val)
  {
         m=m-1;     // maximumvalue 값을 만족하는 배열 위치보다 -1작은 위치 m을 구함
         max_val=max_val-1;  // 예를들어 n=6 r=4일때 1256 이란 값이 들어오면 5와 6은 while구문
  }       // 내에서 max_value만족 따라서 m=1이란 5,6앞의 2의 배열의 위치 값을 반환함

  c[m]=c[m]+1;    // c[m]에값에 +1을 해준다.
  for(int j=m+1;j<r;j++)  // while구문이 실행될 경우 실행 c[m+1]부터 c[r-1]까지
  {       // 그 앞에 수의 +1값을 자신이 가짐 ex) c[m+1]=c[m]+1. c[m+2]=c[m+1]+1
   c[j]=c[j-1]+1;   // cobination값은 permutation에서 swap을 사용하는것과 같은것이 필요 없다.
  }       // 위의 m의 값을 구한후 그 구한 m을 위치로 갔는 배열 c[m]값 이후로 그 앞에 값의
         // +1씩만 해주만 lexicographic order을 만족하는 combination값이 나옴
  strTemp = L"";
  for(int i=0;i<r;i++)
  { 
   temp.Format( _T("%i"), c[i] - 1 );
   strTemp = strTemp + temp;
  }
  coll->Add( strTemp );
  count++;
 }

 delete [] c;
 return count;
}


int combination(int n, int r)
{
         int i;
         int kup = 1;          // 분자
         int kdown = 1;        // 분모

         for(i=n;i>n-r;i--)    //  분자 계산
             kup *= i;

        for(i=r;i>0;i--)       //  분모에 계산
              kdown *= i;

         return kup/kdown;
}

 

출처 : http://ultragom.tistory.com/entry/nCrcombination-구현하기

?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views928234
    read more
  2. 전수데이터를 생성하는 빠른 콤비나토리얼 프로그램 (Fast Combinatorial Programs Generating Total Data)

    Date2015.07.15 Category논문 ByJaeSoo Views642
    Read More
  3. 스코퍼스(Scopus) 지수

    Date2014.10.21 Category논문 ByJaeSoo Views857
    Read More
  4. [논문] Ubiquitous-City Integrated Authentication System (UCIAS) - Jae-Soo Jang, Hyung-Min Lim, Journal of Intelligent Manufacturing(JIM), February 2014, 장재수

    Date2014.02.21 Category논문 ByJaeSoo Views2029
    Read More
  5. [논문] 다중링크를 이용한 다양한 크기의 데이터 전송 (Data transmission of various size that use multiplex link) - 장재수,학위논문(석사), 숭실대학교 대학원 : 컴퓨터학과(일원) 컴퓨터통신 2003. 12

    Date2014.01.25 Category논문 ByJaeSoo Views2850
    Read More
  6. [논문] 조합과 순열 생성 알고리즘의 개선(Enhancement of Combination and Permutation Generation Algorithms) - 장재수,학위논문(박사), 숭실대학교 대학원 : 컴퓨터학과(일원) 컴퓨터통신 2013. 8

    Date2014.01.25 Category논문 ByJaeSoo Views2591
    Read More
  7. 제 논문에 실린 감사의 글입니다

    Date2013.06.12 Category논문 ByJaeSoo Views7191
    Read More
  8. 박사학위논문을 끝내고 감사하는 마음의 글

    Date2013.06.12 Category논문 ByJaeSoo Views5913
    Read More
  9. 로그(Log)에 대하여..

    Date2013.06.10 Category논문 ByJaeSoo Views3639
    Read More
  10. Excel 엑셀, 상용 로그, 자연 로그(LOG) 구하기 계산 함수; Common, Natural Logarithm

    Date2013.06.10 Category논문 ByJaeSoo Views6921
    Read More
  11. 논문 투고 과정

    Date2013.06.07 Category논문 ByJaeSoo Views4814
    Read More
  12. 수리과학 영어논문 작성법

    Date2013.06.07 Category논문 ByJaeSoo Views5217
    Read More
  13. 논문 작성과 형식 - 1.10 퇴고와 기타사항

    Date2013.05.19 Category논문 ByJaeSoo Views4827
    Read More
  14. 논문 작성과 형식 - 1.8 표와 그림

    Date2013.05.19 Category논문 ByJaeSoo Views5730
    Read More
  15. 논문 작성과 형식 - 1.9 주와 참고문헌의 처리

    Date2013.05.19 Category논문 ByJaeSoo Views4390
    Read More
  16. 논문 작성과 형식 - 1.7 인용과 인증

    Date2013.05.19 Category논문 ByJaeSoo Views4657
    Read More
  17. 논문 작성과 형식 - 1.6 논문 작성시 문장의 형식

    Date2013.05.19 Category논문 ByJaeSoo Views6227
    Read More
  18. 논문 작성과 형식 - 1.5 논문의 내용 전개

    Date2013.05.19 Category논문 ByJaeSoo Views4905
    Read More
  19. 논문 작성과 형식 - 1.4 논문의 내용구성

    Date2013.05.19 Category논문 ByJaeSoo Views5152
    Read More
  20. 논문 작성과 형식 - 1.3 논문의 작성의 개요

    Date2013.05.19 Category논문 ByJaeSoo Views5185
    Read More
  21. 논문 작성과 형식 - 1.2 학술논문의 형식

    Date2013.05.19 Category논문 ByJaeSoo Views6538
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너