杨大哥,容大哥,我贴了一个烂码,别喷我额。。。觉得好玩额。。。
运行结果是
1 2 3 5 12
1 2 3 6 11
1 2 3 7 10
1 2 4 5 11
1 2 4 6 10
1 2 4 7 9
#include<stdio.h>
void judge(int,int,int,int,int);
int main(void)
{
int x1,x2,x3,x4,x5;
for(x1=1;x1<=23;x1++)
for(x2=1;x2<=23;x2++)
for(x3=1;x3<=23;x3++)
for(x4=1;x4<=23;x4++)
for(x5=1;x5<=23;x5++)
{
if(x1+x2+x3+x4+x5==23)
if(x1<x2&&x2<x3&&x3<x4&&x4<x5)
judge(x1,x2,x3,x4,x5);
}
return 0;
}
void judge(int x1,int x2,int x3,int x4,int x5)
{
int a,b,c,d,e,i,f,sum=0;
int p[24]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
for(d=0;d<=1;d++)
for(e=0;e<=1;e++)
{
f=a*x1+b*x2+c*x3+d*x4+e*x5;
switch (f)
{
case 0:p[0]=1;break;
case 1:p[1]=1;break;
case 2:p[2]=1;break;
case 3:p[3]=1;break;
case 4:p[4]=1;break;
case 5:p[5]=1;break;
case 6:p[6]=1;break;
case 7:p[7]=1;break;
case 8:p[8]=1;break;
case 9:p[9]=1;break;
case 10:p[10]=1;break;
case 11:p[11]=1;break;
case 12:p[12]=1;break;
case 13:p[13]=1;break;
case 14:p[14]=1;break;
case 15:p[15]=1;break;
case 16:p[16]=1;break;
case 17:p[17]=1;break;
case 18:p[18]=1;break;
case 19:p[19]=1;break;
case 20:p[20]=1;break;
case 21:p[21]=1;break;
case 22:p[22]=1;break;
case 23:p[23]=1;break;
}
}
for(i=0;i<=23;i++)
sum+=p[i];
if(sum==24)
printf("%d\t%d\t%d\t%d\t%d\n",x1,x2,x3,x4,x5);
}
[
本帖最后由 zxd675816777 于 2012-3-1 00:20 编辑 ]