Задача #1352

Рекурсия

Уровень ЕГЭ

(С. Чайкин) Определите, сколько символов * выведет эта процедура при вызове F(127):

Python C++
def F(n):
print('*')
if n > 1:
F(n-2)
F(n // 2)
print('*')
print('*')
void F (int n) {
cout << '*';
if (n > 1) {
F(n-2);
F(n / 2);
cout << '*';
}
cout << '*';
}
Pascal
procedure F(n:integer);
begin
write('*');
if n > 1 then begin
F(n-2);
F(n div 2);
write('*');
end;
write('*');
end;
Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

127547

def F(n):
k = 2
if n > 1:
k += F(n-2) + F(n//2) + 1
return k

print(F(127))
Быстрый переход
Перейти к задаче