Алгоритм вычисления значения функции F(n), где n — целое неотрицательное число, задан следующими соотношениями:
F(0) = 0;
Сколько существует таких
Приведём программу на PascalABC, решающую данную задачу:
var n: longint;
i, count: integer;
function F(n: longint): longint;
begin
if n = 0
then F := 0
else if (((n mod 2) = 0) and (n > 0))
then F := F(n div 2)
else if ((n mod 2) <> 0)
then F := 1 + F(n - 1);
end;
begin
count := 0;
for i := 1 to 900 do
if F(i) = 9 then count := count + 1;
writeln(count);
end.
Результат работы программы — 3.
Ответ: 3.
Приведём другое решение на языке Python.
def F(n):
if n == 0:
return 0
if n % 2 == 0 and n > 0:
return F(n // 2)
if n % 2 != 0:
return 1 + F(n - 1)
k = 0
for i in range(1, 901):
if F(i) == 9:
k += 1
print(k)

