Как наиболее эффективно найти первый элемент в i-й строке, когда A[i,j]=j*(A[i-1,j+1]-A[i-1,j])?

Когда первая строка 1, 1/2, 1/3 .... Вот изображение, чтобы поддержать вопрос.изображение для лучшего описания.

Существует ли более эффективный подход, чем наивный подход O(n^2)?

Я столкнулся с этим при изучении чисел Бернулли и, следовательно, при достижении "алгоритма Акияма – Танигава".

Одним из способов может быть простое предварительное вычисление результатов и сохранение их в таблице. Поскольку числа Бернулли растут очень быстро, для большинства практических целей нам не понадобятся числа Бернулли для гораздо большего n. Рассмотрим Бернулли (400)- его вокруг -(10^550).

Но если смотреть на это только алгоритмически, есть ли лучший подход, чем O(n^2)?

1 ответ

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

Другие вопросы по тегам