FUNCTION F(X:integer):integer;
BEGIN
IF X<=1 THEN F:=X
ELSE IF ODD(X) THEN F:=F(5*X+1)+1
ELSE F:=F(X div 6)+1;
END
значение функции при х=46 будет 5
(нужно объяснить почему ,как работает функция)
заранее спасибо
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| Jenkins |
Сообщение
#1
|
![]() Manowar ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: CaHek Репутация: 0 |
значение функции при х=46 будет 5 (нужно объяснить почему ,как работает функция) заранее спасибо -------------------- Into Glory Ride
|
![]() ![]() |
| hiv |
Сообщение
#2
|
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: 11 |
Это рекурсия - когда функция вызывает саму себя. Показать как это работает нетривиально, но можно... Посмотри как это будет вычисляться:
Код X F CODE 46 X div 6 7 5*X+1 36 X div 6 6 X div 6 1 X 1 1 F:=X 6 2 F:=F(X div 6)+1 36 3 F:=F(X div 6)+1 7 4 F:=F(5*X+1)+1 46 5 F:=F(X div 6)+1 Сообщение отредактировано: hiv - -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Jenkins нужно понять функцию 22.03.2007 5:32
Jenkins то , что надо :good: , а то я вотчи включал 23.03.2007 5:17
Jenkins т.е. ,насколько я понял ,если рекурсивная ф-я имее… 24.03.2007 1:32
hiv т.е. ,насколько я понял ,если рекурсивная ф-я имее… 26.03.2007 14:59
Jenkins теперь тема закрыта 27.03.2007 0:29![]() ![]() |
|
Текстовая версия | 5.11.2025 14:10 |