题目的是随机拿6张卡牌,卡牌上有0~9的数字。一种情况有三张连续的卡牌我们称之为run(类似4,5,6),第二种情况有三张相同卡牌我们称之为triplete(类似2,2,2)。
如果这六张牌有两个run或者两个triplete或者一个run一个triplete。我们称之为baby-gin。
例如
667767 是baby-gin(666,777)
123456 是baby-gin(123,456)
000456 是baby-gin(000,456)
101123不是baby-gin 因为111是triplete但是023不是run也不是triplete。或者123是run,但是011不是run也不是triplete
代码如下
#include#include #include int a[6];int Y=1;int main(){ while(Y==1){ //int temp; int count=0; int book[10]; memset(book,0,sizeof(book)); for(int i=0;i<6;i++) a[i]=rand()%10; printf("Input 6 Numbers: %d%d%d%d%d%d\n",a[0],a[1],a[2],a[3],a[4],a[5]); for(int i=0;i<6;i++) if(book[a[i]]==0) book[a[i]]=1; else book[a[i]]++; for(int i=0;i<=9;i++){ if(book[i]>=3){ count++; book[i]=book[i]-3; } if(book[i]>0&&book[i+1]>0&&book[i+2]>0){ count++; book[i]--; book[i+1]--; book[i+2]--; } } if(count>=2) printf("Baby gin !!!\n"); else printf("Lose\n"); printf("Play the game again? (1-yes/2-no): "); scanf("%d",&Y); }}