div, ldiv, lldiv
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header <stdlib.h>
   | 
||
|   div_t     div( int x, int y );  | 
||
|   ldiv_t    ldiv( long x, long y );  | 
||
|   lldiv_t   lldiv( long long x, long long y );  | 
(since C99) | |
|   Defined in header <inttypes.h>
   | 
||
| (since C99) | ||
Computes the quotient (the result of the expression x/y) and remainder (the result of the expression x%y) simultaneously. (since C99)
Computes quotient and remainder simultaneously. The quotient is the algebraic quotient with any fractional part discarded (truncated towards zero). The remainder is such that quot * y + rem == x. (until c99)
Contents | 
[edit] Notes
Until C99, the rounding direction of the quotient and the sign of the remainder in the built-in division and remainder operators was implementation-defined if either of the operands was negative, but it was well-defined in div and ldiv.
[edit] Parameters
| x, y | - | integer values | 
[edit] Return value
Structure of type div_t, ldiv_t, ldiv_t, imaxdiv_t defined as:
struct div_t { int quot; // The quotient int rem; // The remainder }; struct ldiv_t { long quot; // The quotient long rem; // The remainder }; struct lldiv_t { long long quot; // The quotient long long rem; // The remainder }; struct imaxdiv_t { std::intmax_t quot; // The quotient std::intmax_t rem; // The remainder };
[edit] See also
|    remainder of the floating point division operation  (function)  | |
|   C++ documentation for div 
 | |