//

//  main.cpp

//  proof

//

//  Created by 무제 on 2016. 12. 3..

//  난 빠가다

//


#include <iostream>

const int number_of_cards=7; //핸드에 총 7개 카드 있음 

using namespace std;


int main(int argc, const char * argv[]) {

    int card[7]={14,2,3,4,5,9,5}; // Ace는 14로 표현 2부터 ACE까지. 2~14로 가정 

    int i;

    int judge = 0;

    for( i = 0 ; i < number_of_cards ; i++ )

    {

        judge |= 1<<(card[i]-1);

    }

    if( judge & 14 ) judge |= 1<<14;

    for( i = 0 ; i < 9 ; i++, judge>>=1 )

    {

        if( (judge & 0xf) == 0xf ) break;  // 14비트 

    }

    

    

    if( i < 9 ) printf("Straight!!! ");

}


이렇게 했는데 근데 이해가 안가는게 14비트라고 힌트 주셔서 14비트로 기준보고짰는데 왜 14비트여야하는 거에여?