TheAlgorithms/C++ 1.0.0
All the algorithms implemented in C++
Loading...
Searching...
No Matches
MemorisedFactorial Class Reference
Collaboration diagram for MemorisedFactorial:
[legend]

Public Member Functions

std::uint64_t operator() (std::uint64_t n)

Private Attributes

std::vector< std::uint64_t > known_values = {1}

Detailed Description

Definition at line 27 of file factorial_memoization.cpp.

Member Function Documentation

◆ operator()()

std::uint64_t MemorisedFactorial::operator() ( std::uint64_t n)
inline
Note
This function was intentionally written as recursive and it does not handle overflows.
Returns
factorial of n

Definition at line 36 of file factorial_memoization.cpp.

36 {
37 if (n >= this->known_values.size()) {
38 this->known_values.push_back(n * this->operator()(n - 1));
39 }
40 return this->known_values.at(n);
41 }

Member Data Documentation

◆ known_values

std::vector<std::uint64_t> MemorisedFactorial::known_values = {1}
private

Definition at line 28 of file factorial_memoization.cpp.

28{1};

The documentation for this class was generated from the following file: