powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Рекурсивная задачка Гудстейна
41 сообщений из 41, показаны все 2 страниц
Рекурсивная задачка Гудстейна
    #35038215
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, господа, недавно я сдавал курсач за 3 курс, попалась занимательная задачка, как оказалось очень простая, но я чтото протупил и убил на нее добрых 2 часа, вот собственно задача: (может кто слышал про теорему Гудстейна) возьмем 2 числа, к примеру 9 и 2. Разложим 9 по основанию 2, получим 9=2^3+2^0, в этом выражении есть чило большее основания, а именно 3, разложим его по основанию и так далее(думаю мысль ясна) далее в полученом выражении заменим все 2 на 3, посчетаем результат, от него вычтем 1, увеличем основание на 1 и повторим, фишка вся в том что если так многократно повторять в итоге ноль получится, хотя сначало числа будут рости! Вам может пригодится длинная арифметика(а может и нет, зависит от начальных чисел)(Я опять протупил и написал свою dll, а потом вспомнил что я всет-аки пишу на C# и использовал java.math). Надеюсь кому нибудь будет интересно, могу свой код выложить если надо(но он реально строки 4 причем 3 из них объявления переменных))) ) Задачка может и очень простая, но меня например сначала в тупик поставила)

кстати вот ссылочка на задачу http://www.yugzone.ru/archives/2005/04/teoreme_gudstei.html
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038520
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
быстро сходится?
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038642
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от начальных чисел, например для чисел 9 и 2 у меня так и не сошлась, я ждал сутки(на работе оставил считать), числа стали длинной много тысяч и пришло время работать))) пришлось выключить))) Вообще самое главное чтобы при первом разложении самая большая степень была меньше основания, тогда сойдеся быстро.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038826
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели задачка неинтересная?
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038836
:(
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
:(
Гость
Denis.Неужели задачка неинтересная?
Нет.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038837
:(
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
:(
Гость
Не интересная.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038839
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.Неужели задачка неинтересная?

Где находит применение?
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038865
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятия не имею где находит применение, но показалась занятной, хороша чтоб поразмять "рекурсивную" часть мозга)
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038875
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.Понятия не имею где находит применение, но показалась занятной, хороша чтоб поразмять "рекурсивную" часть мозга)
Рекурсия вообще отстой, её лучше заменять циклами... Рекурсией любят грузить на учёбе, а так, обычно на циклах нормально всё работает без всякой рекурсии, правда думаю не всегда.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038882
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Рекурсия вообще отстой

ну это думаю глупое высказывание, естественно любую задачу можно решить итерационно и как правило решение будет работать быстрее, но не всегда скорость работы доминирует, чаще определяющим является понятность кода, напишите свое итерационное решение, а я напишу свое рекурсивное и сравним чье "красивее" :-) Или попробуйте написать итерационное решения поиска файла в папке, включая подпапки ;-)
А эту задачу итерационно решать думаю извращение, хотя было-бы интересно посмотреть на такое решение
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35038893
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.-Рекурсия вообще отстой

ну это думаю глупое высказывание, естественно любую задачу можно решить итерационно и как правило решение будет работать быстрее, но не всегда скорость работы доминирует, чаще определяющим является понятность кода, напишите свое итерационное решение, а я напишу свое рекурсивное и сравним чье "красивее" :-) Или попробуйте написать итерационное решения поиска файла в папке, включая подпапки ;-)
А эту задачу итерационно решать думаю извращение, хотя было-бы интересно посмотреть на такое решение
Ну, просто итерационное оно часто и красивее рекурсивного
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35039013
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчёт обхода папок кстати согласен, тут рекурсивное лучше.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35039402
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoНу, просто итерационное оно часто и красивее рекурсивного

Рекурсию можно сэмулировать, если использовать такие структуры данных, как стек или очередь или дек. Однако, насколько это удобно и наглядно? Пожалуй исключением здесь будет реализация для платформы с малой глубиной стека вызовов или с отсутствием оного.

Есть и контр-примеры, когда рекурсия уж точно не нужна (факториал, числа Фибоначчи).
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35039530
Jartisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Где находит применение?

Пенроуз приводит эту теорему в качестве иллюстрации "утверждения геделевского типа" для метода мат. индукции.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35039684
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton XDiaBLoНу, просто итерационное оно часто и красивее рекурсивного

Рекурсию можно сэмулировать, если использовать такие структуры данных, как стек или очередь или дек. Однако, насколько это удобно и наглядно? Пожалуй исключением здесь будет реализация для платформы с малой глубиной стека вызовов или с отсутствием оного.

Есть и контр-примеры, когда рекурсия уж точно не нужна (факториал, числа Фибоначчи).
Ага, причём в учебных целях именно факториалы и числа Фибоначчи и применяют... Что никак не прививает мысль о полезности рекурсии :) А обход папок, я посмотрел свои старые исходники, да, именно рекурсией я делал обход папок...
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35039843
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoНу, просто итерационное оно часто и красивее рекурсивного

Ханойские башенки итеративно реши ?
Крысату сравним
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35040299
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекурсия бывает разной. Надо отличать рекурсивный процесс от рекурсивной процедуры.
Рекурсивная процедура может порождать итеративный процесс и при этом не будет "забиваться" стек и создаваться отложенные вычисления.

Попробуйте дерево обойти или определитель матрицы посчитать рекурсивно.
Или решить задачку о размене монет.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35040483
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) XDiaBLoНу, просто итерационное оно часто и красивее рекурсивного

Ханойские башенки итеративно реши ?
Крысату сравним

Не думаю что это лучший пример, я на 1 курсе как раз итератвино это решал, очень красиво имхо получилось, там просто прослеживается итеративный алгоритм. А вот если ЭТУ задачу решить итеративно, мне кажется получится кака, а не код).


-Рекурсивная процедура может порождать итеративный процесс и при этом не будет "забиваться" стек и создаваться отложенные вычисления.

В данном случа думаю в 99.99% случаев цикл предпочтительнее.


ЗЫ. Ну задачу то ктонить решит???
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35040544
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.-Рекурсивная процедура может порождать итеративный процесс и при этом не будет "забиваться" стек и создаваться отложенные вычисления.

В данном случа думаю в 99.99% случаев цикл предпочтительнее.

Циклы вообще уродуют любой код. Мне вот больше рекурсия нравится.
Проблема в том, что иногда очень сложно построить рекурсивную процедуру так, чтобы процесс сам был итеративным.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35040559
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егорище85Попробуйте ... определитель матрицы посчитать

Совершенно елементарно решается итеративно :)
Генератор перестановок берем из Липски, собираем в произведения диагонали и не забываем правильно менять знак. Эффективнее некуда, посему рекурсивный алгоритм идет лесом.

Пример с факториалом хорош в тех языках где рекурсивный может породить итеративный процесс, объяснять адептам других языков все одно что слепому про радугу
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35040582
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Совершенно елементарно решается итеративно :)


Кстать, тоже на первом курсе
Первая программка для 8000 паскаля на EC-1046
В десяток перфокарт уложился если склероз мне не изменяить
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35040602
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Циклы вообще уродуют любой код.

Жгете))) Вы должно быть на лиспе пишите?
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35040971
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, господа, поехал-ка я в египет)
Надеюсь всетаки к тому времени как вернусь ктонибудь решит эту задачу)

Всем счастья и счастливого нового года!
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35041540
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.Ладно, господа, поехал-ка я в египет)
Надеюсь всетаки к тому времени как вернусь ктонибудь решит эту задачу)

Всем счастья и счастливого нового года!

Да сдалась нам твоя задача

И тебя туда-же
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042017
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Совершенно елементарно решается итеративно :)
Генератор перестановок берем из Липски...

Итеративный генератор перестановок - красиво?
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042020
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.-Циклы вообще уродуют любой код.

Жгете))) Вы должно быть на лиспе пишите?

бывает
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042067
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егорище85 Gluk (Kazan)Совершенно елементарно решается итеративно :)
Генератор перестановок берем из Липски...

Итеративный генератор перестановок - красиво?

эффективно
красота штука субъективная
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042078
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) Егорище85
Итеративный генератор перестановок - красиво?

эффективно
красота штука субъективная

Ну а ежель сурьезно, то там нужон не абы какой генератор, а генерирующий все перестановки, с использованием лишь обменов смежных элементов.

Сходу дашь рекурсивное решение ?
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042168
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Ну а ежель сурьезно, то там нужон не абы какой генератор, а генерирующий все перестановки, с использованием лишь обменов смежных элементов .

В смысле?
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042176
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот обычный генератор всех перестановок:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
(define (permutations items)
        (if (null? items) (list ())
                          (flatmap (lambda (x) 
                                           (map (lambda (p) (cons x p)
                                                )
                                                (permutations (remove x items))
                                           )  
                                   )
                                   items
                          )
        )
)
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042204
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егорище85 Gluk (Kazan)Ну а ежель сурьезно, то там нужон не абы какой генератор, а генерирующий все перестановки, с использованием лишь обменов смежных элементов .

В смысле?

1234
1243
1423
4123
4132
1432
1342
1324

Не обязательно именно так, но переставлять за раз можно только смежные элементы.
Иначе будет сложно отслеживать смену знака
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042225
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Не обязательно именно так, но переставлять за раз можно только смежные элементы.
Иначе будет сложно отслеживать смену знака

Да ладно вам, определение четности/нечетности перестановки - элементарная задача.

Там даже отслеживать ничего не надо, по готовой перестановке можно сразу сказать - четная она или нечетная. Независимо от того, как она была получена.

Просто рекурсивное решение в данном случае более математично чтоли. Реализация мало отличается от математического решения.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042228
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егорище85 Gluk (Kazan)Не обязательно именно так, но переставлять за раз можно только смежные элементы.
Иначе будет сложно отслеживать смену знака

Да ладно вам, определение четности/нечетности перестановки - элементарная задача.

Там даже отслеживать ничего не надо, по готовой перестановке можно сразу сказать - четная она или нечетная. Независимо от того, как она была получена.

Просто рекурсивное решение в данном случае более математично чтоли. Реализация мало отличается от математического решения.

Ну как я уже говорил, то было на первом курсе
и не MIT-а а КАИ

На мой взгляд, ФЯ слишком далеки от оборудования, чтобы вообще можно было говорить об эффективных реализациях (особенно Хаскель). Опять же сборка мусора ...

Впрочем, охотно допускаю, что я не прав
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042235
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)На мой взгляд, ФЯ слишком далеки от оборудования, чтобы вообще можно было говорить об эффективных реализациях (особенно Хаскель).

Да... медленно работают. Хотя вот говорят, что forth работает чуть ли не быстрее ассемблера.
Но язык очень специфический.

Gluk (Kazan)Опять же сборка мусора ...

Сборка мусора как раз и появилась в лиспе. Лет 50 назад
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042242
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егорище85
Сборка мусора как раз и появилась в лиспе. Лет 50 назад

Об том и речь :)
И до сих пор ее не научились делать эффективной , хотя подход Perl-а мне нравится
Тут тебе и все вкусности динамической памяти (как то замыкания) и отсутствие заметных тормозов при сборке мусора
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042248
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егорище85Хотя вот говорят, что forth работает чуть ли не быстрее ассемблера.
Но язык очень специфический.


Гмм. не стал бы сравнивать с ассемблером ;)
Язык действительно специфичный, а он ФЯ ??? Или как LISP всего поманеньку
Все что я помню, так это то то он стековый и на нем любят писать всякую железную требуху типа PostScript-а
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042263
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Гмм. не стал бы сравнивать с ассемблером ;)
Язык действительно специфичный, а он ФЯ ??? Или как LISP всего поманеньку
Все что я помню, так это то то он стековый и на нем любят писать всякую железную требуху типа PostScript-а

Ну не чистый ФЯ. Действительно всего понемногу.
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042280
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егорище85 Gluk (Kazan)Гмм. не стал бы сравнивать с ассемблером ;)
Язык действительно специфичный, а он ФЯ ??? Или как LISP всего поманеньку
Все что я помню, так это то то он стековый и на нем любят писать всякую железную требуху типа PostScript-а

Ну не чистый ФЯ. Действительно всего понемногу.

Ну ладно, было приятно пообщаться, но пора домой собираться
С Наступающими !!!
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35042288
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) Егорище85 Gluk (Kazan)Гмм. не стал бы сравнивать с ассемблером ;)
Язык действительно специфичный, а он ФЯ ??? Или как LISP всего поманеньку
Все что я помню, так это то то он стековый и на нем любят писать всякую железную требуху типа PostScript-а

Ну не чистый ФЯ. Действительно всего понемногу.

Ну ладно, было приятно пообщаться, но пора домой собираться
С Наступающими !!!

Взаимно.
С наступающим!!!
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35059324
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егорище85Взаимно.


глянь если не влом. жгуче мучает меня вопрос сей
...
Рейтинг: 0 / 0
Рекурсивная задачка Гудстейна
    #35059537
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) глянь если не влом. жгуче мучает меня вопрос сей

Уже можна не глядеть
Был не прав, вспылил (с)
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Рекурсивная задачка Гудстейна
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]