Интересная мысль. Рассмотрим алгоритм решения квадратного уравнения с заданными коэффициентами (
):
Что, по-вашему мнению, является "входом" этого алгоритма?
или
?
Второе, ибо константы 1, 2, 4 равнозначно "вводятся" (в коде программы).
Надо сказать, я в первый раз сталкиваюсь с такой широкой трактовкой понятия "входа" алгоритма. В частности, тот же Кнут в книге "Искусство программирования для ЭВМ. Т.1 Основные алгоритмы." пишет буквально следующее:
Цитата:
3)
Ввод. Алгоритм имеет некоторое (быть может, равное нулю) число входных данных, т. е. величин, заданных ему до начала работы. Эти данные берутся из некоторого конкретного множества объектов. В алгоритме Е [алгоритм Евклида], например, две входные величины, а именно
и
, выбираемые из множества
натуральных чисел.
Т. е. Кнут почему-то не включает число 0 (используемое при проверке окончания работы) во входные данные :)
При вычислении числа
с точностью до
знаков после запятой, разве число
не подходит под определение:
При вычислении числа
с точностью до
знаков число
, конечно, является входом. А при вычислении числа
с точностью до 10 знаков, 10 входом не является, ибо такой алгоритм вполне имеет право не уметь вычислять
ни с точностью 9 знаков, ни с точностью 11 знаков.
Речь же не о том, что никакому алгоритму не требуются входные данные, а о том, что
существуют алгоритмы, которым входные данные не требуются.
Не нравится пример с
, давайте рассмотрим поиск первого
полусовершенного числа, являющегося, одновременно, точным квадратом. Ну какие входы у такого алгоритма?