library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub matumoto1234/library

:warning: math/fibonacci.hpp

Depends on

Code

#pragma once

#include "./base.hpp"

#include <vector>

// WIP

namespace matumoto {
  template <typename T>
  struct matrix {
    vector<vector<T>> dat;

    matrix(int r, int c): dat(r, vector<T>(c, 0)) {}
    matrix(vector<vector<T>> _dat): dat(_dat) {}

    size_t size() const {
      return dat.size();
    }
    bool empty() const {
      return dat.empty();
    }
  };

  long long fibonacci(long long n) {
    long long f0 = 1, f1 = 1;
    // {(1,1),(1,0)}


    // if ( p <= 1 ) return 0;
    // if ( p == 0 ) p = numeric_limits<T>::max();
    // T res = 1;
    // while ( e > 0 ) {
    //   if ( e & 1 ) res = (res * a) % p;
    //   a = (a * a) % p;
    //   e >>= 1;
    // }
    // return res;
  }
} // namespace matumoto
#line 2 "math/fibonacci.hpp"

#line 2 "math/base.hpp"

namespace matumoto {
  using namespace std;
  using ll = long long;
} // namespace matumoto
#line 4 "math/fibonacci.hpp"

#include <vector>

// WIP

namespace matumoto {
  template <typename T>
  struct matrix {
    vector<vector<T>> dat;

    matrix(int r, int c): dat(r, vector<T>(c, 0)) {}
    matrix(vector<vector<T>> _dat): dat(_dat) {}

    size_t size() const {
      return dat.size();
    }
    bool empty() const {
      return dat.empty();
    }
  };

  long long fibonacci(long long n) {
    long long f0 = 1, f1 = 1;
    // {(1,1),(1,0)}


    // if ( p <= 1 ) return 0;
    // if ( p == 0 ) p = numeric_limits<T>::max();
    // T res = 1;
    // while ( e > 0 ) {
    //   if ( e & 1 ) res = (res * a) % p;
    //   a = (a * a) % p;
    //   e >>= 1;
    // }
    // return res;
  }
} // namespace matumoto
Back to top page