我正在寻找一种编程方法,可以将整数序列转换为闭合形式函数。就像这样:
给定:1、3、6、10、15
返回:n(n+1)/2
示例可能很有用;语言不重要。
我正在寻找一种编程方法,可以将整数序列转换为闭合形式函数。就像这样:
给定:1、3、6、10、15
返回:n(n+1)/2
示例可能很有用;语言不重要。
通常情况下,没有一个通用的函数。
对于您指定的序列,在整数数列在线百科全书中,可以找到133个与之相关的有趣整数序列。下面是前5个:
A000217 三角形数:a(n) = C(n+1,2) = n(n+1)/2 = 0+1+2+...+n。
0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275, 1326, 1378, 1431A130484 求和 {0≤k≤n,k mod 6}(A010875 的部分和)。
0, 1、3、6、10、15、15、16、18、21、25、30、30、31、33、36、40、45、45、46、48、51、55、60、60、61、63、66、70、75、75、76、78、81、85、90、90、91、93、96、100、105、105、106、108、111、115、120、120、121、123、126、130、135、135、136、138、141、145、150、150、151、153。A130485 是 {0≤k≤n,且k mod 7} 的和(A010876 的部分和)。
0、1、3、6、10、15,21、21、22、24、27、31、36、42、42、43、45、48、52、57、63、63、64、66、69、73、78、84、84、85、87、90、94、99、105、105、106、108、111、115、120、126、126、127、129、132、136、141、147、147、148、150、153、157、162、168、168、169、171、174、178、183。A104619 将自然数以16进制排列成三角形,第k行有k个数字,如下所示。序列给出主对角线。
1、3、6、10、15、2、1、1、14、3、2、2、5、12、4、4、4、13、6、7、11、6、9、9、10、7、12、13、1、0、1、10、5、1、12、8、1、1、14、1、9、7、1、4、3、1、2、2、1、3、4、2、7、9、2、14、1、2、8、12、2、5、10、3、5、11、3、8、15、3、14、6、3、7、0、4、3、13、4、2、13、4、4、0、5、9、6、5、1、15、5、12、11、6A037123 a(n) = a(n-1) + n的各位数字之和。
0, 1、3、6、10、15、21、28、36、45、46、48、51、55、60、66、73、81、90、100、102、105、109、114、120、127、135、144、154、165、168、172、177、183、190、198、207、217、228、240、244、249、255、262、270、279、289、300、312、325、330、336、343、351、360、370、381
如果您限制自己使用多项式函数,则编码起来很容易,手动求解也只是稍微繁琐。
令,其中
未知
现在解方程组
…
这只是一个线性方程组。
(3) -> guess([1, 3, 6, 10, 15])
2
n + 3n + 2
(3) [[function= -----------,order= 0]]
2
Type: List(Record(function: Expression(Integer),order: NonNegativeInteger))
我认为你的问题是不适当的。如果没有生成函数,给定任意有限数量的整数序列,下一个元素可以是任何东西。
你需要对这个序列做出一些假设。它是否是等比的?还是等差的?