标题:六角填数
如图所示六角形中,填入1~12的数字。
使得每条直线上的数字之和都相同。
图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?
请通过浏览器提交答案,不要填写多余的内容。
最好理解但最麻烦的写法(一开始的)(⊙﹏⊙)b
#include <stdio.h>
int main()
{
int a,b,c,d,e,f,g,h,i;
int x,y,z,u,v,w;
for(a=2;a<=12;a++)
{
if(a==3||a==8)continue;
for(b=2;b<=12;b++)
{
if(b==3||b==8||b==a)continue;
for(c=2;c<=12;c++)
{
if(c==3||c==8||c==b||c==a)continue;
for(d=2;d<=12;d++)
{
if(d==3||d==8||d==c||d==b||d==a)continue;
for(e=2;e<=12;e++)
{
if(e==3||e==8||e==d||e==d||e==c||e==b||e==a)continue;
for(f=2;f<=12;f++)
{
if(f==3||f==8||f==a||f==b||f==c||f==d||f==e)continue;
for(g=2;g<=12;g++)
{
if(g==3||g==8||g==a||g==b||g==c||g==d||g==e||g==f)continue;
for(h=2;h<=12;h++)
{
if(h==3||h==8||h==a||h==b||h==c||h==d||h==e||h==f||h==g)continue;
for(i=2;i<=12;i++)
{
if(i==3||i==8||i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h)continue;
x=1+a+d+f;
y=8+a+b+c;
z=1+b+e+i;
u=c+e+h+3;
v=f+g+h+i;
w=8+d+g+3;
if(x==y&&x==z&&x==u&&x==v&&x==w)
{
printf(" 1\n");
printf("8 %d %d %d\n",a,b,c);
printf(" %d\t%d\n",d,e);
printf("%d %d %d %d\n",f,g,h,i);
printf(" 3\n\n");
}
}
}
}
}
}
}
}
}
}
}