找回密码
 欢迎注册
查看: 60127|回复: 37

[擂台] 差三角

[复制链接]
发表于 2013-4-9 12:15:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
仔细观察下面的数字组成的三角形:
精华
  1.     3
  2.   1   4
  3. 5   6   2
复制代码
看出什么特征吗?首先,它包含了1~6的连续整数。
重要的是:每个数字都是其下方相邻的两个数字的差(当然是大数减去小数)
满足这样特征的三角形,称为:差三角。找出1~15的整数组成的一个更大的差三角
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-4-9 15:08:01 | 显示全部楼层
  1.     2
  2.   5   3
  3. 6   1   4

  4.     3
  5.   5   2
  6. 1   6   4
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-4-9 15:15:37 | 显示全部楼层
  1.       4
  2.     5   1
  3.   2   7   6
  4. 8  10   3   9
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-4-9 19:37:39 | 显示全部楼层
3# hujunhua
除了穷举,不知道有没有好的构造法?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-4-10 19:57:32 | 显示全部楼层
1~6还有一解(穷举的结果)
  1.     1
  2.   4   3
  3. 6   2   5
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-4-10 20:09:53 | 显示全部楼层
1~10穷举,只有4解。
  1.       3
  2.     5   2
  3.   4   9   7
  4. 6  10   1   8

  5.       3
  6.     7   4
  7.   2   9   5
  8. 8  10   1   6

  9.       4
  10.     5   1
  11.   2   7   6
  12. 8  10   3   9

  13.       4
  14.     6   2
  15.   1   7   5
  16. 9  10   3   8
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-4-11 00:57:42 | 显示全部楼层
1-15,两组解

{{5}, {9, 4}, {2, 11, 7}, {10, 12, 1, 8}, {13, 3, 15, 14, 6}}
{{5}, {4, 9}, {7, 11, 2}, {8, 1, 12, 10}, {6, 14, 15, 3, 13}}

评分

参与人数 1鲜花 +2 收起 理由
hujunhua + 2 两解镜像对称,视同一个。

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-4-11 17:37:14 | 显示全部楼层
1-15,穷举法

  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main(int argc, char *argv[])
  4. {
  5.         int a,b,c,d,e;
  6.         int n=5;
  7.         int k=n*(n+1)/2;
  8.        
  9.         for(a=1;a<=k;a++)
  10.         for(b=1;b<=k;b++)
  11.         for(c=1;c<=k;c++)
  12.         for(d=1;d<=k;d++)
  13.         for(e=1;e<=k;e++)
  14.         {
  15.                 int x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15;
  16.                 x1 = a; x2 = b; x3 = c; x4 = d; x5 = e; x6 = abs(-a + b); x7 = abs(-b + c); x8 = abs(-c + d); x9 = abs(-d + e); x10 = abs(-abs(-a + b) + abs(-b + c)); x11 = abs(-abs(-b + c) + abs(-c + d)); x12 = abs(-abs(-c + d) + abs(-d + e)); x13 = abs(-abs(-abs(-a + b) + abs(-b + c)) + abs(-abs(-b + c) + abs(-c + d))); x14 = abs(-abs(-abs(-b + c) + abs(-c + d)) + abs(-abs(-c + d) + abs(-d + e))); x15 = abs(-abs(-abs(-abs(-a + b) + abs(-b + c)) + abs(-abs(-b + c) + abs(-c + d))) + abs(-abs(-abs(-b + c) + abs(-c + d)) + abs(-abs(-c + d) + abs(-d + e))));
  17.                
  18.                 if(x10!=x1&&x11!=x1&&x11!=x10&&x12!=x1&&x12!=x10&&x12!=x11&&x13!=x1&&x13!=x10&&x13!=x11&&x13!=x12&&x14!=x1&&x14!=x10&&x14!=x11&&x14!=x12&&x14!=x13&&x15!=x1&&x15!=x10&&x15!=x11&&x15!=x12&&x15!=x13&&x15!=x14&&x2!=x1&&x2!=x10&&x2!=x11&&x2!=x12&&x2!=x13&&x2!=x14&&x2!=x15&&x3!=x1&&x3!=x10&&x3!=x11&&x3!=x12&&x3!=x13&&x3!=x14&&x3!=x15&&x3!=x2&&x4!=x1&&x4!=x10&&x4!=x11&&x4!=x12&&x4!=x13&&x4!=x14&&x4!=x15&&x4!=x2&&x4!=x3&&x5!=x1&&x5!=x10&&x5!=x11&&x5!=x12&&x5!=x13&&x5!=x14&&x5!=x15&&x5!=x2&&x5!=x3&&x5!=x4&&x6!=x1&&x6!=x10&&x6!=x11&&x6!=x12&&x6!=x13&&x6!=x14&&x6!=x15&&x6!=x2&&x6!=x3&&x6!=x4&&x6!=x5&&x7!=x1&&x7!=x10&&x7!=x11&&x7!=x12&&x7!=x13&&x7!=x14&&x7!=x15&&x7!=x2&&x7!=x3&&x7!=x4&&x7!=x5&&x7!=x6&&x8!=x1&&x8!=x10&&x8!=x11&&x8!=x12&&x8!=x13&&x8!=x14&&x8!=x15&&x8!=x2&&x8!=x3&&x8!=x4&&x8!=x5&&x8!=x6&&x8!=x7&&x9!=x1&&x9!=x10&&x9!=x11&&x9!=x12&&x9!=x13&&x9!=x14&&x9!=x15&&x9!=x2&&x9!=x3&&x9!=x4&&x9!=x5&&x9!=x6&&x9!=x7&&x9!=x8)
  19.                         if(x1>0&&x2>0&&x3>0&&x4>0&&x5>0&&x6>0&&x7>0&&x8>0&&x9>0&&x10>0&&x11>0&&x12>0&&x13>0&&x14>0&&x15>0)
  20.                                 printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d \n",x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15 );
  21.         }
  22.         return 0;
  23. }

复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-4-11 18:36:27 | 显示全部楼层
  1. f[x_List]:=Abs@Differences@x; (*定义一个函数,计算表x的差分绝对值*)
  2. Do[y=Reverse@ FixedPointList[f, x];If[Union @@y==Range[15], Print/@y], {x, Permutations[Range[15],{5}]}]
复制代码
输出结果,居然是唯一解。
  1. {}
  2. {}
  3. {5}
  4. {4,9}
  5. {7,11,2}
  6. {8,1,12,10}
  7. {6,14,15,3,13}
  8. {}
  9. {}
  10. {5}
  11. {9,4}
  12. {2,11,7}
  13. {10,12,1,8}
  14. {13,3,15,14,6}
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-4-11 18:42:10 | 显示全部楼层
将上述程序略作修改,穷举1~21,无解。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-20 21:04 , Processed in 0.050094 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表