这个系列是什么:1,1,2,3,3,3,4,4,4,5,5,5,

问题描述 投票:0回答:1

这是我试图解决的系列,就像想出一个封闭的公式。

它遵循这个程序:

function(n):
  if(n<=1): 
    return 1
  else if(n%3==0): 
    return function(n+1) - 1
  else:
    return function(n-2) + 1

a0 = 1

a1 = 1

A = A.

我= 2

A4 = 3

兄弟= p

灰= h

a7 = 4 ......依此类推。似乎对于前4个术语它只是1 1,2 2,但随后它在3中重复。所以当它命中n mod 3 = 1时,它会启动一个新数字。

有人能协助我吗?

recursion series
1个回答
0
投票

可能属于数学部分。

你可以把这个系列写成

f(3k)   = f(3k+1) - 1 = f(3k-1)
f(3k+1) = f(3k-1) + 1 = f(3k) + 1
f(3k+2) = f(3k) + 1

在这里你可以看到,在3k + 1(4,7,...)的值处,该值增加1并且相同。第一种模式是由于您为<= 1值设置的初始条件。

对于k> 2,您可以用2+int((k-1)/3)替换该函数。

© www.soinside.com 2019 - 2024. All rights reserved.