Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями: F(0) = 0
F(n) = F(n/2) + 3, при чётном n > 0
F(n) = 2·F(n - 1) + 1, при нечётном n > 0
Сколько различных значений может принимать функция F(n) при n, принадлежащих отрезку [1; 1000]?


Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями: F(0)

School13kursk School13kursk    2   15.06.2021 09:27    4

Ответы
Koki2006 Koki2006  15.07.2021 09:28

Да, все правильно, ровно 1000 значений, ведь они соответствуют условию n>0

aboba=[]

def F(n):

   global aboba

   if n==0:

       return 0

   elif n>0 and n%2==0:

       return F(n/2)+3

   elif n>0 and n%2==1:

       return 2*F(n-1)+1

count=0

for i in range(1,1001):

   aboba.append(F(i))

print(len(set(aboba)))

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика