Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define if_c(x) (x) ?
- #define else_c :
- #define return_c(x) (x)
- constexpr int64_t muldiv(int64_t a, int64_t b, int64_t c, unsigned n = 0) {
- return(
- if_c(a < 0x7FFFFFFF && b < 0x7FFFFFFF)
- return_c((a * b) / c)
- else_c
- if_c(c <= a)
- if_c(n != 2)
- return_c((a / c) * b + muldiv(b, a % c, c, n + 1))
- else_c
- return_c(0)
- else_c
- return_c(muldiv(a, b, c / 2) / 2)
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement