= std::vector<std::vector<uint64_t> >;
39math::fibonacci_sum::matrix
multiply(
constmath::fibonacci_sum::matrix &T,
40 constmath::fibonacci_sum::matrix &A) {
41math::fibonacci_sum::matrix
result(2, std::vector<uint64_t>(2, 0));
44 result[0][0] = T[0][0] * A[0][0] + T[0][1] * A[1][0];
45 result[0][1] = T[0][0] * A[0][1] + T[0][1] * A[1][1];
46 result[1][0] = T[1][0] * A[0][0] + T[1][1] * A[1][0];
47 result[1][1] = T[1][0] * A[0][1] + T[1][1] * A[1][1];
58math::fibonacci_sum::matrix
power(math::fibonacci_sum::matrix T, uint64_t ex) {
59math::fibonacci_sum::matrix A{{1, 1}, {1, 0}};
60 if(ex == 0 || ex == 1) {
64T =
power(T, ex / 2);
78math::fibonacci_sum::matrix T{{1, 1}, {1, 0}};
80uint64_t ans = T[0][1];
91uint64_t
fiboSum(uint64_t n, uint64_t m) {
103uint64_t n = 0, m = 3;
106std::cout <<
"Passed Test 1!"<< std::endl;
112std::cout <<
"Passed Test 2!"<< std::endl;
118std::cout <<
"Passed Test 3!"<< std::endl;
123assert(test_4 == 123);
124std::cout <<
"Passed Test 4!"<< std::endl;
129assert(test_5 == 322);
130std::cout <<
"Passed Test 5!"<< std::endl;
uint64_t fiboSum(uint64_t n, uint64_t m)
math::fibonacci_sum::matrix power(math::fibonacci_sum::matrix T, uint64_t ex)
math::fibonacci_sum::matrix multiply(const math::fibonacci_sum::matrix &T, const math::fibonacci_sum::matrix &A)
uint64_t result(uint64_t n)
int main()
Main function.
std::vector< std::valarray< T > > matrix
Functions for the sum of the Fibonacci Sequence: .
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4