fork download
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. int main() {
  5. float root_f = sqrt(5),
  6. fib_f,
  7. a_f = (1 + root_f) / 2,
  8. b_f = (1 - root_f) / 2;
  9. int i = 0;
  10. do {
  11. ++i;
  12. fib_f = (pow(a_f, i) - pow(b_f, i)) / root_f;
  13. } while (fmod(fib_f, (float)1.0) == 0);
  14. cout << i << ' ';
  15.  
  16. // double
  17. double root_d = sqrt(5), fib_d;
  18. double a_d = (1 + root_d) / 2, b_d = (1 - root_d) / 2;
  19.  
  20. int j = 0;
  21. do {
  22. ++j;
  23. fib_d = (pow(a_d, j) - pow(b_d, j)) / root_d;
  24. } while (fmod(fib_d, 1.0) == 0);
  25.  
  26. cout << j;
  27.  
  28. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
7 4