Advertisement
Guest User

Untitled

a guest
Jan 12th, 2012
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.37 KB | None | 0 0
  1. #define if_c(x) (x) ?
  2. #define else_c :
  3.  
  4. constexpr int64_t muldiv(int64_t a, int64_t b, int64_t c, unsigned n = 0) {
  5. return
  6. if_c(a < 0x7FFFFFFF && b < 0x7FFFFFFF)
  7. (a * b) / c
  8. else_c
  9. if_c(n != 2)
  10. if_c(c <= a)
  11. ((a / c) * b + muldiv(b, a % c, c, n + 1))
  12. else_c
  13. muldiv(a, b, c / 2) / 2
  14. else_c 0;
  15. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement