fork download
  1.  
  2. unsigned long long fibb(unsigned long long Solve)
  3. {
  4. if (Solve==1) return 1;
  5. unsigned long long Even = 0;
  6. unsigned long long Odd = 1;
  7. unsigned long long Loops = Solve/16+1;
  8. switch (Solve%16/2) {
  9. do {
  10. case 0: Even+=Odd; Odd+=Even;
  11. case 7: Even+=Odd; Odd+=Even;
  12. case 6: Even+=Odd; Odd+=Even;
  13. case 5: Even+=Odd; Odd+=Even;
  14. case 4: Even+=Odd; Odd+=Even;
  15. case 3: Even+=Odd; Odd+=Even;
  16. case 2: Even+=Odd; Odd+=Even;
  17. case 1: Even+=Odd; Odd+=Even;
  18. }while(--Loops);
  19. };
  20. return (Solve&1 ? Odd+Even : Odd);
  21. }
  22. #include <iostream>
  23. int main() {
  24. std::cout << fibb(59);
  25. }
Success #stdin #stdout 0s 2928KB
stdin
Standard input is empty
stdout
1548008755920