В смысле? Это Вы утверждаете, что без циклов. Я такого не утверждал. А утверждал обратное: без циклов невозможно. Вот Вам программа с циклом: перепишите её без цикла.
:)
Еще раз - исходная постановка вашей проблемы (с моей точки зрения) выглядит так:
если договориться не использовать в написании программы на языке программирования наподобие Паскаль
1) рекурсивных функций (функций, в определении которых есть вызовы самих себя);
2) косвенных вызовов функции самой себя через вызовы промежуточных (косвенная рекурсия);
3) циклов while, for, until с динамическим условием завершения (условием завершения, зависящим от исходных данных программы);
4) оператора безусловного перехода goto,
то останется ли возможность реализовать любую примитивно-рекурсивную функцию?
Я правильно понял? Если да, то я утверждаю, что ваша проблема равносильна следующей:
если договориться при написании программы на Паскале использовать только пакетирование структур следования и ветвления, то останется ли возможность реализовать любую примитивно-рекурсивную функцию?
Только и всего.
Хотя бы просто потому, что длина результата экспоненциально зависит от длины входа. Только на то, чтобы записать результат вычислений, Вам понадобится экспоненциальное время.
Это не очевидно, поскольку мы работаем не с машиной Тьюринга, а с неким исполнителем, у которого операции ввода/вывода, вообще говоря, могут быть атомарными. И если уж строго, то надо тогда оговаривать подробно этого исполнителя и проводить оценки.
Здесь Вы ошибаетесь.
Я имел в виду, что ядро теории алгоритмов, насколько я имею представление, рассматривает свойства алгоритмов, определенных с точностью до эффективного изоморфизма. А потому в ней не имеет смысла говорить о времени исполнения, поскольку оно не выдерживает этого изоморфизма (один и тот же алгоритм может в одном представлении иметь одну сложность, а в другом другую).
Вопрос, который вы поставили, напоминает общий вопрос - почему при определении вычислимых функций нельзя отказаться от операции рекурсии в декларативных моделях вычисления и от циклов в императивных. И хотелось бы дать на него ответ в рамках этой теории.
Ну, если не нравится теория сложности, распишите индукцию по длине программы с полным разбором всех случаев. Несколько страниц точно выйдет. Не думаю, что это красивее
Индукцию для доказательства какого утверждения?