回复 13楼 beyondyf
#include<stdio.h>
#include<math.h>
int main()
{
int a1;
int b1,b2;
int c1,c2,c3;
int d1,d2,d3,d4;
int e1,e2,e3,e4,e5;
for(e1=1;e1<=15;e1++)
for(e2=1;e2<=15;e2++)
{
if(e2==e1)
continue;
for(e3=1;e3<=15;e3++)
{
if(e3==e2||e3==e1)
continue;
for(e4=1;e4<=15;e4++)
{
if(e4==e3||e4==e2||e4==e1)
continue;
for(e5=1;e5<=15;e5++)
{
if(e5==e4||e5==e3||e5==e2||e5==e1)
continue;
d1=abs(e1-e2);
if(d1!=e1&&d1!=e2&&d1!=e3&&d1!=e4&&d1!=e5)
{
d2=abs(e2-e3);
if(d2!=d1&&d2!=e1&&d2!=e2&&d2!=e3&&d2!=e4&&d2!=e5)
{
d3=abs(e3-e4);
if(d3!=d2&&d3!=d1&&d3!=e1&&d3!=e2&&d3!=e3&&d3!=e4&&d3!=e5)
{
d4=abs(e4-e5);
if(d4!=d3&&d4!=d2&&d4!=d1&&d4!=e1&&d4!=e2&&d4!=e3&&d4!=e4&&d4!=e5)
{
c1=abs(d1-d2);
if(c1!=d1&&c1!=d2&&c1!=d3&&c1!=d4&&c1!=e1&&c1!=e2&&c1!=e3&&c1!=e4&&c1!=e5)
{
c2=abs(d2-d3);
if(c2!=c1&&c2!=d1&&c2!=d2&&c2!=d3&&c2!=d4&&c2!=e1&&c2!=e2&&c2!=e3&&c2!=e4&&c2!=e5)
{
c3=abs(d3-d4);
if(c3!=c2&&c3!=c1&&c3!=d1&&c3!=d2&&c3!=d3&&c3!=d4&&c3!=e1&&c3!=e2&&c3!=e3&&c3!=e4&&c3!=e5)
{
b1=abs(c1-c2);
if(b1!=c1&&b1!=c2&&b1!=c3&&b1!=d1&&b1!=d2&&b1!=d3&&b1!=d4&&b1!=e1&&b1!=e2&&b1!=e3&&b1!=e4&&b1!=e5)
{
b2=abs(c2-c3);
if(b2!=b1&&b2!=c1&&b2!=c2&&b2!=c3&&b2!=d1&&b2!=d2&&b2!=d3&&b2!=d4&&b2!=e1&&b2!=e2&&b2!=e3&&b2!=e4&&b2!=e5)
{
a1=abs(b1-b2);
if(a1!=b1&&a1!=b2&&a1!=c1&&a1!=c2&&a1!=c3&&a1!=d1&&a1!=d2&&a1!=d3&&a1!=d4&&a1!=e1&&a1!=e2&&a1!=e3&&a1!=e4&&a1!=e5)
{
if(b1==4)
{
printf("
%d\n",a1);
printf("
%d %d\n",b1,b2);
printf("
%d %d %d\n",c1,c2,c3);
printf(" %d %d %d %d\n",d1,d2,d3,d4);
printf("%d %d %d %d %d\n",e1,e2,e3,e4,e5);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return 0;
}
这是我的代码,用的是穷举,当然代码比较丑陋。虽然我现在还没看懂你的代码,但感觉写得很有水平,就像你所说的那样构建得比较清楚,还有azzbcc的也是的,也很有水平。我现在大二,个人很喜欢编程,也很想提高自己的能力,能分享一下编程的心得吗?或者谈一下你是怎样学习编程的,还望赐教,谢谢!