这个游戏没有玩过,程序运行后的救过是有牛的种数为1726832,牛0到牛9分别为:191808,171304,
168096,171304,168096,177424,168096,171304,168096,171304.
程序代码如下:(注:调试环境是VC++6.0,game函数中被注释的代码段是用来具体打印牛X的组合,打印
的时间非常漫长~~~,我打印到了200000种看第一个还是黑桃A就关掉了~~~总共有1726832行,要是楼
主的机器比较好,有耐心的话,可以把注释符去掉,慢慢观察。。。)
#include "stdio.h"
//黑桃\006 梅花 \005 红桃 \003 方块 \004
static int count=0;//记录有牛的总个数
static int f[10];//分别记录从牛0到牛9的个数
static int q=0;//打印编号
void game(int s[]){
int x[5],i,j,k,y=0,sum=0;
for(i=0;i<5;i++){
//将数组进行处理,J,Q,K记为10点
x[i]=s[i]%100;//消去百位的花色标志
if(x[i]>=10&&x[i]<=13)
x[i]=10;
sum+=x[i];//记录总点数
}
for(i=0;i<3;i++){
for(j=i+1;j<4;j++){
for(k=j+1;k<5;k++){
y=x[i]+x[j];
y+=x[k];//选任意3张牌记录点数和
if(y%10==0){//若是牛(即是10的倍数)
count++;//总个数加1
f[(sum-y)%10]++;//牛几 加1
///*被注释的代码段
printf("%d.牛%d:",++q,(sum-y)%10);
for(int p=0;p<5;p++){
if(s[p]/100==0)
printf("\006");
else if(s[p]/100==1)
printf("\003");
else if(s[p]/100==1)
printf("\005");
else
printf("\004");
if(s[p]%100==1)
printf("A,");
else if(s[p]%100==11)
printf("J,");
else if(s[p]%100==12)
printf("Q,");
else if(s[p]%100==13)
printf("K,");
else
printf("%d,",s[p]%100);
}
printf("\n");
//*/
return;//返回主函数,重选5张牌
}
}
}
}
}
void main(){
int i,j,k,p,q;
int a[5];
int b[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};
int z[52];
for(i=0;i<13;i++){
//将整副牌存入数组z中,百位为0表示黑桃,百位1表示红桃,2表示梅花,3表示方块
z[i]=b[i];
z[i+13]=b[i]+100;
z[i+26]=b[i]+200;
z[i+39]=b[i]+300;
}
for(i=0;i<=47;i++){
//从整副牌中选取5张,存入数组a中
a[0]=z[i];
for(j=i+1;j<=48;j++){
a[1]=z[j];
for(k=j+1;k<=49;k++){
a[2]=z[k];
for(p=k+1;p<=50;p++){
a[3]=z[p];
for(q=p+1;q<=51;q++){
a[4]=z[q];
game(a);//调用程序
}
}
}
}
}
printf("有牛种数:%d种\n",count);
for(i=0;i<10;i++)
printf("牛%d:%d种\n",i,f[i]);
} #include
main()
{
int i1,i2,i3,i4,i5,a[13][13],sum=0,j;
for(i1=1;i1<=13;i1++)
{
for(i2=i1;;i2<=13;i2++)
{
for(i3=i2;i3<=13;i3+=)
if((i1+i2+i3)%10==0&&i1!=i2&&i1!=i3&&i2!=i3)
a[0][0]=i1,a[0][1]=i2,a[0][2]=i3,sum++;
}
}
printf("有%d种牛\n",sum);
for(i=0;i
{
for(j=0;j<3;j++)
{
if(a[i][j]==1)
printf("A ");
else
if(a[i][j]==11)
printf("J ");
else
if(a[i][j]==12)
printf("Q ");
else
if(a[i][j]==13)
printf("K ");
else
printf("%d ",a[i][j]);
}
printf("\n");
}
}
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试