![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.02.2013
Сообщений: 28
|
![]()
вот код ,определяет является ли число простым
непонятно, почему когда переменная b становится = false то рекурсия тут же прерывается не дойдя до конечного условия if m = n Код Pascal Код:
Последний раз редактировалось Stilet; 04.12.2014 в 14:49. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 24.02.2013
Сообщений: 28
|
![]()
так и не смог сообразить ,почему при b = false
рекурсия сразу прекращается, если сделать перестановку такую b:= Simple(m+1,n)and(n mod m <> 0); тогда рекурсия идет до конца , пример взят из книги Окулова "программирование" стр.152 переделал под себя , во всяком случае для меня стала более понятна работа процедуры т.е. функцию переделал на процедуру, а то мне кажется заморочки... PHP код:
в качестве параметра ибо это глобальная переменная, но может кому захочется разобрать , будет более понятно |
![]() |
![]() |
![]() |
#3 |
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,949
|
![]() Код:
Последний раз редактировалось newerow1989; 05.12.2014 в 11:56. Причина: Сократил код |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 24.02.2013
Сообщений: 28
|
![]()
спасибо за поддержку Уважаемый newerow1989
раз уж Вы откликнулись и код у Вас такой симпатичный, предположу ,что Вы достаточно хорошо разбираетесь чего происходит в результате выполнения программ.. у меня к Вам вопрос ,тот что здесь я задал в самом первом своем посте именно: "непонятно, почему когда переменная b становится = false то рекурсия тут же прерывается не дойдя до конечного условия if m = n" ..был ответ ,что проверяется только первое условие, когда переставил выражения , действительно, рекурсия доходит до m = n тогда такой вопрос : если b принять = true тогда в ней запоминается первый отличный от true результат ,..НО почему работу то прекращает = не пойму |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 24.02.2013
Сообщений: 28
|
![]()
мне не код нужет, я с рекурсией хочу разобраться
|
![]() |
![]() |
![]() |
#6 | ||
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,949
|
![]() Цитата:
Цитата:
Код:
Код:
|
||
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#8 |
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,949
|
![]()
b = true всегда!
Если переписать Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 24.02.2013
Сообщений: 28
|
![]()
cнова привожу этот код ,
при тех значениях m и n которые тут указаны рекурсия сразу "записывает" в b false и работа функции прекращается .. т.е. сразу готов результат безо всяких лишних вызовов вопрос простой,ПОЧЕМУ когда b становится = false сразу происходит выход из рекурсии ,,ну и что что b стало = false ну не доходит это до меня PHP код:
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 24.02.2013
Сообщений: 28
|
![]()
у меня FPC .не знаю может в турбо по другому чего нить
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вылет программы при выводе простого числа (cout) | Ciberal | Общие вопросы C/C++ | 7 | 27.09.2011 01:51 |
Где ошибка в Яваскрипт поиск простого числа? | shavtan | Помощь студентам | 0 | 21.05.2011 13:10 |
генерация простого числа для ключа в RSA | Coraline | Общие вопросы C/C++ | 0 | 16.05.2011 14:30 |
паскаль. нахождение простого числа | Кинива | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 09.06.2010 22:54 |
граница проверки простого числа | fs444 | Общие вопросы C/C++ | 4 | 24.03.2010 20:11 |