|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.03.2013, 00:17 | #1 |
Пользователь
Регистрация: 06.11.2011
Сообщений: 44
|
Преобразовать рекурсивную функцию
Преобразовать рекурсивную функцию в линейную:
int F( int n){ if(n%10>0) return n%10; if(n==0) return 0; else return F(n/10); } Помогите, пожалуйста |
05.03.2013, 01:19 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Вроде так
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
05.03.2013, 11:34 | #3 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Код:
Третий шаг: обернуть всю функцию в цикл while(true), рекурсивные вызовы с return заменить на блоки кода, модифицирующие значения переменных и завершающиеся continue. Код:
Код:
Код:
|
|
05.03.2013, 12:35 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Abstraction, проверьте, пожалуйста, на n = 0.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
05.03.2013, 12:40 | #5 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
А. Раззява. Да, условие надо не убирать, но можно слить:
Код:
Код:
Код:
Правда, теперь можно обратить внимание, что, если на начало цикла n!=0, то n не станет равно нулю ни на какой итерации - то есть, проверку на ноль можно сделать один раз, перед началом цикла: Код:
Последний раз редактировалось Abstraction; 05.03.2013 в 12:43. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Индекс максимального элемента через рекурсивную функцию. | metallfly | Visual C++ | 4 | 13.01.2013 23:01 |
Описать рекурсивную функцию! | glebast | Помощь студентам | 3 | 28.12.2011 20:51 |
Описать рекурсивную функцию в PascalABC | Aimet | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 16.06.2011 20:52 |
Написать рекурсивную функцию. | Solnze2 | Помощь студентам | 0 | 20.05.2011 15:14 |
Описать рекурсивную функцию MaxElem ошибка | dexter2145 | Помощь студентам | 2 | 11.06.2010 16:59 |