这10道题是互相关联的,牵一发而动全身,比如第一道题的答案是c就说明第4道题的答案是b。答案似乎有三组,其中一组是“a b c c e e a e c e”,asdf1001先生算出了一组,还有一组。。 ---------------------------------------
那位aibxyz网友的编程如下: bool answer_1(char * buf)
{
unsigned char i;
i = buf[1]-'A'+2;
if(buf=='B')
return true;
return false;
}
bool answer_2(char * buf)
{
unsigned char i;
i = buf[2]-'A'+2;
if(buf==buf[i+1])
return true;
return false;
}
bool answer_3(char * buf)
{
unsigned char i;
switch(buf[3])
{
case 'A':
i=1;
break;
case 'B':
i=2;
break;
case 'C':
i=4;
break;
case 'D':
i=7;
break;
case 'E':
i=6;
break;
default:
return false;
}
if(buf==buf[3])
return true;
return false;
}
bool answer_4(char * buf)
{
unsigned char i,j;
j=0;
for(i=1;i<11;i++)
{
if(buf=='A')
j++;
}
if((buf[4]-'A')==j)
return true;
return false;
}
bool answer_5(char * buf)
{
unsigned char i;
switch(buf[5])
{
case 'A':
i=10;
break;
case 'B':
i=9;
break;
case 'C':
i=8;
break;
case 'D':
i=7;
break;
case 'E':
i=6;
break;
default:
return false;
}
if(buf==buf[5])
return true;
return false;
}
bool answer_6(char * buf)
{
unsigned char i,j,k;
j=0;
switch(buf[6])
{
case 'A':
k='B';
break;
case 'B':
k='C';
break;
case 'C':
k='D';
break;
case 'D':
k='E';
break;
case 'E':
k='K';
break;
default:
return false;
}
if(k!='K')
{ j=0;
for(i=1;i<11;i++)
{
if(buf==k)
j++;
}
if((buf[4]-'A')==j)
return true;
return false;
}
else
{ j=0;
for(i=1;i<11;i++)
{
if(buf=='B')
j++;
}
if((buf[4]-'A')==j)
return false;
j=0;
for(i=1;i<11;i++)
{
if(buf=='C')
j++;
}
if((buf[4]-'A')==j)
return false;
j=0;
for(i=1;i<11;i++)
{
if(buf=='D')
j++;
}
if((buf[4]-'A')==j)
return false;
j=0;
for(i=1;i<11;i++)
{
if(buf=='E')
j++;
}
if((buf[4]-'A')==j)
return false;
return true;
}
}
bool answer_7(char * buf)
{
unsigned char i;
switch(buf[7])
{
case 'A':
i=4;
break;
case 'B':
i=3;
break;
case 'C':
i=2;
break;
case 'D':
i=1;
break;
case 'E':
i=0;
break;
default:
return false;
}
if(((buf[7]-buf[8])==i)||((buf[8]-buf[7])==i))
return true;
return false;
}
bool answer_8(char * buf)
{
unsigned char i,j;
j=0;
for(i=1;i<11;i++)
{
if((buf=='A')||(buf=='E'))
j++;
}
if((buf[8]-'A'+2)==j)
return true;
return false;
}
bool answer_9(char * buf)
{
unsigned char j;
j=buf[8]-'A'+2;
j=10-j;
switch(buf[9])
{
case 'A':
if((j==5)||(j==7))
return true;
break;
case 'B':
if(j==6)
return true;
break;
case 'C':
if(j==4)
return true;
break;
case 'D':
if(j==8)
return true;
break;
case 'E':
if(j==5)
return true;
break;
default:
return false;
}
return false;
}
bool answer_10(char * buf)
{
return true;
}
void CMainFrame::OnTswt()
{
// TOD Add your command handler code here
char q[11];
for(q[1]='A';q[1]<'F';q[1]++)
for(q[2]='A';q[2]<'F';q[2]++)
for(q[3]='A';q[3]<'F';q[3]++)
for(q[4]='A';q[4]<'F';q[4]++)
for(q[5]='A';q[5]<'F';q[5]++)
for(q[6]='A';q[6]<'F';q[6]++)
for(q[7]='A';q[7]<'F';q[7]++)
for(q[8]='A';q[8]<'F';q[8]++)
for(q[9]='A';q[9]<'F';q[9]++)
for(q[10]='A';q[10]<'F';q[10]++)
{
if(!answer_1(q))
continue;
if(!answer_2(q))
continue;
if(!answer_3(q))
continue;
if(!answer_4(q))
continue;
if(!answer_5(q))
continue;
if(!answer_6(q))
continue;
if(!answer_7(q))
continue;
if(!answer_8(q))
continue;
if(!answer_9(q))
continue;
if(!answer_10(q))
continue;
CString str;
str.Format("%c-%c-%c-%c-%c-%c-%c-%c-%c-%c",
q[1],q[2],q[3],q[4],q[5],q[6],q[7],q[8],q[9],q[10]);
MessageBox(str,"终于算出来啦",0);
}
MessageBox("居然耍偶","BS你",0);
}
//以上只是计算部分,直接编译是不行大,自行加入主框架函数,环境是VC++6.0
|