数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 72|回复: 3

从1~100中至少取多少个数,才能满足a+b=c+d

[复制链接]
发表于 2025-7-1 13:38 | 显示全部楼层 |阅读模式
从1~100中至少取多少个数,  才能满足a+b=c+d,  a,b,c,d是4个不同数。
 楼主| 发表于 2025-7-2 17:05 | 显示全部楼层
100太大了, 先从小数试起。——谢谢 hujunhua大师!

从1~n中取a(n)={A}+{B}={A}+1——{A}尽可能长,不满足a+b=c+d——只要再加{B}中任意1个——就满足a+b=c+d。{B}是{A}的补集。
a(4)=3, {4,3,2},
a(5)=4, {5,4,3,1},
a(6)=4, {6,5,4,2},
a(7)=4, {7,6,5,3},
a(8)=5, {8,7,6,4,1},
a(9)=5, {9,8,7,5,2},
a(10)=5, {10,9,8,6,3},
a(11)=5, {11,10,9,7,4},
a(12)=5, {12,11,10,8,5},
a(13)=6, {13,12,11,9,6,1},
a(14)=6, {14,13,12,10,7,2},
a(15)=6, {15,14,13,11,8,3},
a(16)=6, {16,15,14,12,9,4},
a(17)=6, {17,16,15,13,10,5},
a(18)=6, {18,17,16,14,11,6},
a(19)=6, {19,18,17,15,12,7},
a(20)=6, {20,19,18,16,13,8},
a(21)=7, {21,20,19,17,14,9,1},
a(22)=7, {22,21,20,18,15,10,2},
a(23)=7, {23,22,21,19,16,11,3},
a(24)=7, {24,23,22,20,17,12,4},
a(25)=7, {25,24,23,21,18,13,5},
a(26)=7, {26,25,24,22,19,14,6},
a(27)=7, {27,26,25,23,20,15,7},
a(28)=7, {28,27,26,24,21,16,8},
a(29)=7, {29,28,27,25,22,17,9},
a(30)=8, {30,29,28,26,23,18,10,1},
a(31)=8, {31,30,29,27,24,19,11,2},
a(32)=8, {32,31,30,28,25,20,12,3},
a(33)=8, {33,32,31,29,26,21,13,4},
a(34)=8, {34,33,32,30,27,22,14,5},
a(35)=8, {35,34,33,31,28,23,15,6},
a(36)=8, {36,35,34,32,29,24,16,7},
a(37)=8, {37,36,35,33,30,25,17,8},
a(38)=8, {38,37,36,34,31,26,18,9},
a(39)=9, {39,38,37,35,32,27,19,10,1},
a(40)=9, {40,39,38,36,33,28,20,11,2},
a(41)=9, {41,40,39,37,34,29,21,12,3},
a(42)=9, {42,41,40,38,35,30,22,13,4},
a(43)=9, {43,42,41,39,36,31,23,14,5},
a(44)=9, {44,43,42,40,37,32,24,15,6},
a(45)=9, {45,44,43,41,38,33,25,16,7},
a(46)=9, {46,45,44,42,39,34,26,17,8},
a(47)=9, {47,46,45,43,40,35,27,18,9},
a(48)=9, {48,47,46,44,41,36,28,19,10},
a(49)=9, {49,48,47,45,42,47,29,20,11},
a(50)=9, {50,49,48,46,43,38,30,21,12},
a(51)=9, {51,50,49,47,44,39,31,22,13},
a(52)=9, {52,51,50,48,45,40,32,23,14},
a(53)=10, {53,52,51,49,46,41,33,24,15,1},
a(54)=10, {54,53,52,50,47,42,34,25,16,2},
a(55)=10, {55,54,53,51,48,43,35,26,17,3},
a(56)=10, {56,55,54,52,49,44,36,27,18,4},
a(57)=10, {57,56,55,53,50,45,37,28,19,5},
a(58)=10, {58,57,56,54,51,46,38,29,20,6},
a(59)=10, {59,58,57,55,52,47,39,30,21,7},
a(60)=10, {60,59,58,56,53,48,40,31,22,8},
a(61)=10, {61,60,59,57,54,49,41,32,23,9},
a(62)=10, {62,61,60,58,55,50,42,33,24,10},
a(63)=10, {63,62,61,59,56,51,43,34,25,11},
a(64)=10, {64,63,62,60,57,52,44,35,26,12},
a(65)=10, {65,64,63,61,58,53,45,36,27,13},
a(66)=10, {66,65,64,62,59,54,46,37,28,14},
a(67)=10, {67,66,65,63,60,55,47,38,29,15},
a(68)=10, {68,67,66,64,61,56,48,39,30,16},
a(69)=10, {69,68,67,65,62,57,49,40,31,17},
a(70)=10, {70,69,68,66,63,58,50,41,32,18},
a(71)=10, {71,70,69,67,64,59,51,42,33,19},
a(72)=10, {72,71,70,68,65,60,52,43,34,20},
a(73)=10, {73,72,71,69,66,61,53,44,35,21},
a(74)=11, {74,73,72,70,67,62,54,45,36,22,1},
a(75)=11, {75,74,73,71,68,63,55,46,37,23,2},
a(76)=11, {76,75,74,72,69,64,56,47,38,24,3},
a(77)=11, {77,76,75,73,70,65,57,48,39,25,4},
a(78)=11, {78,77,76,74,71,66,58,49,40,26,5},
a(79)=11, {79,78,77,75,72,67,59,50,41,27,6},
a(80)=11, {80,79,78,76,73,68,60,51,42,28,7},
a(81)=11, {81,80,79,77,74,69,61,52,43,29,8},
a(82)=11, {82,81,80,78,75,70,62,53,44,30,9},
a(83)=11, {83,82,81,79,76,71,63,54,45,31,10},
a(84)=11, {84,83,82,80,77,72,64,55,46,32,11},
a(85)=11, {85,84,83,81,78,73,65,56,47,33,12},
a(86)=11, {86,85,84,82,79,74,66,57,48,34,13},
a(87)=11, {87,86,85,83,80,75,67,58,49,35,14},
a(88)=11, {88,87,86,84,81,76,68,59,50,36,15},
a(89)=11, {89,88,87,85,82,77,69,60,51,37,16},
a(90)=11, {90,89,88,86,83,78,70,61,52,38,17},
a(91)=11, {91,90,89,87,84,79,71,62,53,39,18},
a(92)=11, {92,91,90,88,85,80,72,63,54,40,19},
a(93)=11, {93,92,91,89,86,81,73,64,55,41,20},
a(94)=11, {94,93,92,90,87,82,74,65,56,42,21},
a(95)=12, {95,94,93,91,88,83,75,66,57,43,22,1},
a(96)=12, {96,95,94,92,89,84,76,67,58,44,23,2},
a(97)=12, {97,96,95,93,90,85,77,68,59,45,24,3},
a(98)=12, {98,97,96,94,91,86,78,69,60,46,25,4},
a(99)=12, {99,98,97,95,92,87,79,70,61,47,26,5},
a(100)=12, {100,99,98,96,93,88,80,71,62,48,27,6},
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-7-2 17:06 | 显示全部楼层
备忘——记录一下手工解题的过程。——谢谢 hujunhua大师!

题目。{1, 2, ..., n}没有等和对的最大子集a(k),  n>3。

a(3)=3, {1,2,3}——每次只要关注末尾2个数之间数是否有解就可以了。譬如:
a(4)=5, {1,2,3,5}——3,5之间有4——1,2,3,4有解。
a(5)=8, {1,2,3,5,8}——5,8之间有6,7——1,2,3,5,6-1,2,3,5,7有解。
a(6)=13, {1,2,3,5,8,13}——8,13之间有9,10,11,12——1,2,3,5,8,9-1,2,3,5,8,12有解。
a(7)=21, {1,2,3,5,8,13,21}——13,21之间有14-20——1,2,3,5,8,13,14-1,2,3,5,8,13,20有解。
a(8)=30, {1,2,3,5,8,13,21,30}——21,30之间有22-29——1,2,3,5,8,13,21,22-1,2,3,5,8,13,21,29有解。
a(9)=39, {1,2,3,5,8,13,21,30,39}——30,39之间有31-38——1,2,3,5,8,13,21,30,31-1,2,3,5,8,13,21,38有解。
a(10)=53, {1,2,3,5,8,13,21,30,39,53}
a(11)=74, {1,2,3,5,8,13,21,30,39,53,74},
a(12)=95, {1,2,3,5,8,13,21,30,39,53,74,95},

得到——A011185——1, 2, 3, 5, 8, 13, 21, 30, 39, 53, 74, 95, 128, 152, 182, 212, 258, 316, 374, 413, 476, 531, 546, 608, 717, 798, 862, 965, 1060, 1161, 1307, 1386, 1435, 1556, 1722, 1834, 1934, 2058, ......
  1. seq = {1}; pairSums = {};nextTerm = 2; pairSumsUpdate := Join[pairSums, nextTerm + seq];hasDuplicates := !
  2. DuplicateFreeQ[pairSumsUpdate];Do[While[hasDuplicates, nextTerm++];pairSums = pairSumsUpdate; AppendTo[seq, nextTerm];, 50];seq  
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-7-2 18:59 | 显示全部楼层
备忘——记录一下手工解题的过程。——谢谢 hujunhua大师!

题目。{1, 2, ..., n}没有等和对的最大子集a(k),  n>3。

a(3)=3, {1,2,3}——每次只要关注末尾2个数之间数是否有解就可以了。譬如:
a(4)=5, {1,2,3,5}——3,5之间有4——1,2,3,4有解。
a(5)=8, {1,2,3,5,8}——5,8之间有6,7——1,2,3,5,6-1,2,3,5,7有解。
a(6)=13, {1,2,3,5,8,13}——8,13之间有9,10,11,12——1,2,3,5,8,9-1,2,3,5,8,12有解。
a(7)=21, {1,2,3,5,8,13,21}——13,21之间有14-20——1,2,3,5,8,13,14-1,2,3,5,8,13,20有解。
a(8)=30, {1,2,3,5,8,13,21,30}——21,30之间有22-29——1,2,3,5,8,13,21,22-1,2,3,5,8,13,21,29有解。
a(9)=39, {1,2,3,5,8,13,21,30,39}——30,39之间有31-38——1,2,3,5,8,13,21,30,31-1,2,3,5,8,13,21,38有解。
a(10)=53, {1,2,3,5,8,13,21,30,39,53}
a(11)=74, {1,2,3,5,8,13,21,30,39,53,74},
a(12)=95, {1,2,3,5,8,13,21,30,39,53,74,95},

得到——A011185——1, 2, 3, 5, 8, 13, 21, 30, 39, 53, 74, 95, 128, 152, 182, 212, 258, 316, 374, 413, 476, 531, 546, 608, 717, 798, 862, 965, 1060, 1161, 1307, 1386, 1435, 1556, 1722, 1834, 1934, 2058, ......

这个通项公式也可以。
  1. t = {1}; k = 1; sms = {}; Do[k++; While[Intersection[sms, t + k] != {}, k++]; sms = Join[sms, t + k, {k}]; AppendTo[t, k], {50}]; t
复制代码

又:{1, 2, ..., n}没有等和对的最大子集a(k)可以有很多数字串——只要把这个"A"换一下就行。
  1. t = {1}; k = 1; sms = {}; Do[k++; While[Intersection[sms, t + k] != {}, k++]; sms = Join[sms, t + k, {A*k}]; AppendTo[t, k], {50}]; t
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-7-4 06:35 , Processed in 0.092366 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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