Форум » Рекурсивные процедуры и функции » задание решить за 5 минут не получается » Ответить
задание решить за 5 минут не получается
Eugeny1984: Добрый день, друзья! У Константина Юрьевича нашел задание, как мне кажется сложное. Решил его трассировкой, но получилось минут 10-15 затратил. А по регламенту всего 5 минут. Подскажите, пожалуйста, есть ли более быстрый какой нибудь способ решения или все также ручками прогоняем? Дан рекурсивный алгоритм: procedure F(n: integer); begin writeln('*'); if n > 0 then begin writeln('*'); F(n-2); F(n-2); F(n div 2); end end; Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(6)?
Ответов - 5 новых
cabanov.alexey: Возможна арифметическая ошибка но суть такая. Мы уходим от кода к алгебраической записи. И не надо никаких деревьев (10-15 минут убивается именно на них).
Eugeny1984: cabanov.alexey Подскажите, пожалуйста, а почему именно 2+2*F4. Почему именно первая цифра 2, а например на 1?
Eugeny1984: Cпасибо большое
Eugeny1984: Ответ верный.
cabanov.alexey: Подскажите, пожалуйста, а почему именно 2+2*F4. Почему именно первая цифра 2, а например на 1? Если n>0, то печатается две снежинки.
полная версия страницы