题目:大衍数列
中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。
它的前几项是:0、2、4、8、12、18、24、32、40、50 …
查看规律
我粗略的看一下发现这个序列规律不是很强,我们给它标上序号。
序号:1、2、3、4、 5、 6、 7、 8、 9、 10
数列:0、2、4、8、12、18、24、32、40、50
我们发现粗略计算一下,序号的平方的一半很接近数列对应项的数值。
序号:1 2 3 4 5 6 7 8 9 10
计算:0.5 2 4.5 8 12.5 18 24.5 32 40.5 50
我们对比一下计算后的结果与大衍数列发现,在序号为:1、3、5、7、9的位置的数值按照序号的平方的一半计算方式要比对应大衍数量位置的值多0.5。而在2、4、6、8、10的位置完全相同。
由此我们推断为奇偶数列:
当序列号i为奇数时,数值为( i * i - 1)/2
当序列号i为偶数时,数值为( i * i ) /2
Python代码实现:
# 生成num个大衍数列值的列表
def DaYan(num):
list = []
for i in range(1,num + 1):
if num % 2 == 1:
list.append((i * i -1)/ 2)
else:
list.append((i * i)/ 2)
return list
if __name__ == '__main__':
res = DaYan(5)
print(res)