The C++ Modulus Operator

Take a simple arithmetic problem: what's left over when you divide 11 by 3? The answer is easy to compute: divide 11 by 3 and take the remainder: 2. But how would you compute this in a programming language like C or C++? It's not hard to come up with a formula, but the language provides a built-in mechanism, the modulus operator ('%'), that computes the remainder that results from performing integer division.
The modulus operator is useful in a variety of circumstances. It is commonly used to take a randomly generated number and reduce that number to a random number on a smaller range, and it can also quickly tell you if one number is a factor of another. 

If you wanted to know if a number was odd or even, you could use modulus to quickly tell you by asking for the remainder of the number when divided by 2.
#include <iostream>

using namespace std;

int main()
{
    int num;
    cin >> num;
    // num % 2 computes the remainder when num is divided by 2
    if ( num % 2 == 0 )
    {
        cout << num << " is even ";
    }

    return 0;
}
The key line is the one that performs the modulus operation: "num % 2 == 0". A number is even if and only if it is divisible by two, and a number is divisible by another only if there is no remainder. 

How could you use modulus to write a program that checks if a number is prime?

'프로그래밍 > C, C++' 카테고리의 다른 글

2진 트리 검색  (0) 2011.06.07
The C Preprocessor  (0) 2011.06.07
Getting Random Values in C and C++ with Rand  (0) 2011.06.07
Formatting Cout Output in C++ using iomanip  (0) 2011.06.07
Enumerated Types - enums  (1) 2011.06.07

+ Recent posts