Если мы говорим об ограничении языка, то некоторые языки определяют целые числа произвольной точности (например, Python и Common Lisp), так что вы можете сосчитать до любого числа, которое вам нравится, насколько это возможно. Вы можете легко установить его слишком большим для любой реальной машины, но это не ограничение языка.
Что касается реальных машин, то это вопрос количества возможных состояний. Для каждого бита, который вы можете выделить в качестве счетчика (и он не обязательно должен быть одним элементом данных, поскольку очень легко создать счетчик произвольной длины), это два состояния, поэтому, если у вас доступно 8 ГБ памяти, вы можете считать с чем-то вроде 2 ^ 8G. Конечно, вы можете использовать файловую систему для большего количества счетчиков.
Или, предполагая, что вы не используете физически обратимые вычисления, вы можете проверить минимальную энергию, необходимую для того, чтобы немного перевернуть, поделить количество доступной энергии (например, на общую ожидаемую солнечную мощность или что-то еще) и получить предел. 1005 *
Существует ограничение для машин Тьюринга указанной сложности. Это идет довольно быстро.
Слишком много возможных ответов, чтобы дать один.