王守恩 发表于 3 小时前

楼上是这样一串数——2, 6, 13, 22, 36, 53, 75, 102, 135, 173, 219, 271, 331, 399, 476, 561, 657, 762, 878, 1005, 1144, 1294, 1458, 1634, 1824, 2028, 2247, 2480, 2730, 2995, ......

Table, {n, 40}]——通项公式出奇的好——OEIS是没有的——这串数也是有现实意义。

n=1: a={2} b={1} 和=2= 2(a)*1(b)*1(c)
n=2: a={1,2} b={1,2} 和=6= 1(a)*1(b)*2(c) + 2(a)*2(b)*1(c)
n=3: a={1,2,3} b={1,1,2} 和=13= 1(a)*1(b)*3(c) + 2(a)*1(b)*2(c) + 3(a)*2(b)*1(c)
n=4: a={1,1,2,3} b={1,2,3,1} 和=22=1(a)*1(b)*4(c) +1(a)*2(b)*3(c) + 2(a)*3(b)*1(c) + 3(a)*1(b)*2(c)
n=5: a={1,1,2,3,4} b={1,2,1,3,1} 和=36= 1(a)*1(b)*5(c) + 1(a)*2(b)*4(c) + 2(a)*1(b)*3(c) + 3(a)*3(b)*1(c) + 4(a)*1(b)*2(c)
n=6: a={1,1,1,2,3,4} b={1,2,3,1,4,1} 和=53=1(a)*1(b)*6(c) + 1(a)*2(b)*5(c) +1(a)*3(b)*3(c) + 2(a)*1(b)*4(c) + 3(a)*4(b)*1(c) + 4(a)*1(b)*2(c)
n=7: a={1,1,1,2,3,4,5} b={1,2,3,1,4,1,1} 和=75
n=8: a={1,1,1,1,2,3,4,5} b={1,2,3,4,1,5,1,1} 和=102
n=9: a={1,1,1,1,2,3,4,5,6} b={1,2,3,4,1,1,5,1,1} 和=135
n=10: a={1,1,1,1,1,2,3,4,5,6} b={1,2,3,4,6,1,1,5,1,1} 和=173
n=11: a={1,1,1,1,1,2,3,4,5,6,7} b={1,2,3,4,5,1,1,6,1,1,1} 和=219
n=12: a={1,1,1,1,1,1,2,3,4,5,6,7} b={1,2,3,4,5,7,1,1,1,6,1,1} 和=271
n=13: a={1,1,1,1,1,1,2,3,4,5,6,7,8} b={1,2,3,4,5,7,1,1,1,6,1,1,1} 和=331
n=14: a={1,1,1,1,1,1,1,2,3,4,5,6,7,8} b={1,2,3,4,5,6,8,1,1,1,7,1,1,1} 和=399
n=15: a={1,1,1,1,1,1,1,2,3,4,5,6,7,8,9} b={1,2,3,4,5,6,8,1,1,1,1,7,1,1,1} 和=476

SystemException["MemoryAllocationFailure"]——说来不了了。

楼上的解法是来不了了——有一个想法——若能把a与b合并为一个数字串——b是关键——什么规律?谢谢!

王守恩 发表于 18 分钟前

还是简单一点。
Table], Range + 1]];
b = Join], Range + 1 + Mod, n + 1]];
k = MinimalBy], Total*Range] &] // First;
m = Total*Range];
Print["n=", n, ": a=", a, " b=", k, " 和=", m], {n, 20}]
n=1: a={1} b={2} 和=2
n=2: a={1,2} b={3,1} 和=7
n=3: a={1,1,2} b={3,4,1} 和=16
n=4: a={1,1,2,3} b={4,5,1,1} 和=30
n=5: a={1,1,1,2,3} b={4,5,6,1,1} 和=50
n=6: a={1,1,1,2,3,4} b={5,6,7,1,1,1} 和=77
n=7: a={1,1,1,1,2,3,4} b={5,6,7,8,1,1,1} 和=112
n=8: a={1,1,1,1,2,3,4,5} b={6,7,8,9,1,1,1,1} 和=156
n=9: a={1,1,1,1,1,2,3,4,5} b={6,7,8,9,10,1,1,1,1} 和=210
n=10: a={1,1,1,1,1,2,3,4,5,6} b={7,8,9,10,11,1,1,1,1,1} 和=275
n=11: a={1,1,1,1,1,1,2,3,4,5,6} b={7,8,9,10,11,12,1,1,1,1,1} 和=352
n=12: a={1,1,1,1,1,1,2,3,4,5,6,7} b={8,9,10,11,12,13,1,1,1,1,1,1} 和=442
n=13: a={1,1,1,1,1,1,1,2,3,4,5,6,7} b={8,9,10,11,12,13,14,1,1,1,1,1,1} 和=546

SystemException["MemoryAllocationFailure"]——说来不了了。

{2, 7, 16, 30, 50, 77, 112, 156, 210, 275, 352, 442, 546, 665, 800, 952, 1122, 1311, 1520, 1750, 2002, 2277, 2576, 2900, 3250, 3627, 4032, 4466, 4930, 5425, 5952, 6512, 7106, 7735, 8400, 9102, 9842, 10621, 11440, 12300}

通项公式可以这样—a(n) = Total*Reverse]] 。通项公式也可以这样—a(n) = (n^3 + 6 n^2 + 5 n)/6 。A005581 — a(n) = (n-1)*n*(n+4)/6.——没有这样的内容。
页: 1 2 [3]
查看完整版本: 三重内积(增加难度)的最小值