Цитата:
Сообщение от
Silence
Т.е. Вы считаете, что для бесконечного цикла нужно писать нечто вроде:
Я знаю, что эта задача является классической.
Разбирается во всевозможных статьях. Начиная от школьных обучающих курсов до многотомника Кнута.
Сходу можно привести 4-5 решений. Где-то видал статью с 15 способами. Один из них, где время расчета меньше O(n).
рекурсию привести конечно можно.
но оговорив область применимости, влияние повторных расчетов на производительность и прочие недостатки.
while(true)...
му-ха-ха-ха!!!! хороший панк-юмор
Цитата:
Сообщение от
Ace of Database
и написал такой джоб
да, это один из способов решения.
в памяти хранятся только два последних значения, повторных вычислений нет, время выполнения линейное.
момент, который не оговорен - целочисленные значения.
для такого случая было бы хорошо оговорить область применимости )))
в обычных системах, скорее всего, выполнение прервется по переполнению раньше, чем пользователь нажмет CTRL + BREAK/
в аксапте приведенный алгоритм, скорее всего, будет просто выдавать неправильные (отрицательные) значения начиная с некоторого числа, причем достаточно близкого к началу последовательности.
если программист не оговорил хотя бы в комментарии область применимости... и не предупредил, что она будет настолько маленькой...
с точки зрения аксапты, я бы обратил внимание, что автор использует int2str вместо strfmt. Это была бы тема для дополнительных вопросов.
свое мнение не изменил - мне бы тоже не понравилось.