2016-08-10 5 views
0

это серия, которую я пытаюсь решить, например, придумать закрытую из формулы.Что это за серия: 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5,

следует эту программу:

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

a2 = 2

a3 = 2

a4 = 3

a5 = 3

a6 = 3

a7 = 4 ... и так далее. кажется, что для первых 4 терминов это всего лишь 1 1, 2 2, но затем он повторяется в 3. поэтому, когда он достигает n mod 3 = 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 значений.

Вы можете заменить функцию 2+int((k-1)/3) на k> 2.

+0

okay спасибо !! –

 Смежные вопросы

  • Нет связанных вопросов^_^