(Ж. Арсак) Написать функцию seq(n), которая последовательно вычисляет значения последовательности $$ {P_i} $$ для натурального n по формуле ниже, до тех пор, пока очередной член этой последовательности не станет равен 1, и возвращает наибольший элемент такой последовательности. Формула:

  1. $$ P_0=n $$

  2. $$ P_(i+1)=P_i/2 $$, если $$ P_i $$ чётно

  3. $$ P_(i+1)=3P_i+1 $$, если $$ P_i $$ нечётно

print(seq(27), seq(1), seq(16), seq(101))

Очевидно, что 1 превращается в цикл 1 → 4 → 2 → 1 → 4 → …

9232 1 16 304

Говорят, никто ещё не доказал, что эта последовательность превращается в 1 для любого натурального числа!


CategoryHomework

Python/GeoPython2021/Homework_ArsakSequence (last edited 2021-10-17 16:24:06 by FrBrGeorge)