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

F(n) = 0 при n = 0

F(n) = F(n/2) – 2 при n > 0 для чётных n

F(n) = 2 + F(n–1) при n > 0 для нечётных n

Сколько существует чисел n, меньших 1000, для которых значение F(n) будет равно –2?

Danьka323323 Danьka323323    2   25.11.2021 22:04    0

Ответы
очароваш очароваш  31.12.2021 15:38

ответ: 111

Python:

def F(n):

   if n == 0: return 0

   if n % 2 == 0: return F(n/2) -2

   if n % 2 == 1: return 2 + F(n - 1)

print(len([i for i in range(1000) if F(i) == -2]))

ПОКАЗАТЬ ОТВЕТЫ
sinchugov2001 sinchugov2001  31.12.2021 15:38

Pascal

Объяснение:

function f(n:integer): integer;

begin

 if n = 0 then

   result := 0

 else

   if n mod 2 = 0 then result := f(trunc(n/2))-2

   else result := 2+f(n-1)

end;

var

  i, k: integer;

begin

 k:=0;

 for i := 1 to 999 do

   if f(i) = -2 then inc(k);

 print(k)

end.

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