Тангентные числа, также называемая функцией Заг. Смотрите такжеТангентное число.
Первые несколько значений: 1, 2, 16, 272, 7936, 353792, 22368256, 1903757312 ... (последовательностьA000182 в OEIS). Их называют касательными числами, потому что они появляются в виде числителей в серии Маклаурина<tan(x)
>.
Важно:В общем использовании есть два конкурирующих определения чисел Тангенса (в зависимости от того, принимаете ли вы четные или нечетные пронумерованные значения как ненулевые), мы используем:

Что дает:

Тангентные числа используются при вычислении чисел Бернулли, но также доступны здесь.
#include <boost/math/special_functions/detail/bernoulli.hpp>
template <class T>
T tangent_t2n(const int i);
template <class T, class Policy>
T tangent_t2n(const int i, const Policy &pol);
template <class T, class OutputIterator>
OutputIterator tangent_t2n(const int start_index,
const unsigned number_of_tangent_t2n,
OutputIterator out_it);
template <class T, class OutputIterator, class Policy>
OutputIterator tangent_t2n(const int start_index,
const unsigned number_of_tangent_t2n,
OutputIterator out_it,
const Policy& pol);
Мы можем вычислить и сохранить несколько чисел Танджента.
std::vector<float> tn;
boost::math::tangent_t2n<float>(1, 6, std::back_inserter(tn));
for(size_t i = 0; i < tn.size(); i++)
{
std::cout << std::setprecision(std::numeric_limits<float>::digits10)
<< " "
<< tn[i];
}
std::cout << std::endl;
Результатом является:
1 2 16 272 7936 353792
Источник этого примера находится по адресуbernoulli_example.cpp.
Тангентные числа вычисляются как промежуточные в вычислении чиселБернулли: ссылаются на документациюБернуллидля деталей.