fork(1) download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. template<class T>
  5. T Fi(const T& X) {
  6. T Phi = (1 + std::sqrt(5)) / 2;
  7. T A01 = std::pow(-1, std::fmod(X + 1, 3));
  8. return std::log(std::sqrt(5) * X + std::sqrt(5 * (X * X) - 4 * A01) - std::log(2)) / std::log(Phi);
  9. }
  10. template<class T>
  11. T F(const T& N) {
  12. T Phi = (1 + std::sqrt(5)) / 2;
  13.  
  14. return (std::pow(Phi, N) - std::pow(-Phi, -N)) / std::sqrt(5);
  15. }
  16.  
  17. int main() {
  18.  
  19. double A = F<double>(5);
  20. double B = Fi<double>(5);
  21.  
  22. std::cout << A << std::endl;
  23. std::cout << B<< std::endl;
  24. std::cout << A * B << std::endl;
  25. return 0;
  26. }
Success #stdin #stdout 0s 4512KB
stdin
Standard input is empty
stdout
5
6.37444
31.8722