sotanishy's competitive programming library

sotanishy's code snippets for competitive programming

View the Project on GitHub sotanishy/cp-library-cpp

:heavy_check_mark: Monmort Number
(math/montmort.cpp)

Verified with

Code

#pragma once
#include <vector>

/*
 * @brief Monmort Number
 */
template <typename T>
std::vector<T> montmort_table(int n) {
    std::vector<T> ret(n + 1);
    if (n == 1) return ret;
    ret[2] = 1;
    for (int i = 3; i <= n; ++i) {
        ret[i] = (ret[i - 1] + ret[i - 2]) * (i - 1);
    }
    return ret;
}
#line 2 "math/montmort.cpp"
#include <vector>

/*
 * @brief Monmort Number
 */
template <typename T>
std::vector<T> montmort_table(int n) {
    std::vector<T> ret(n + 1);
    if (n == 1) return ret;
    ret[2] = 1;
    for (int i = 3; i <= n; ++i) {
        ret[i] = (ret[i - 1] + ret[i - 2]) * (i - 1);
    }
    return ret;
}
Back to top page