Random number generator, C++

后端 未结 8 2106
心在旅途
心在旅途 2020-12-10 18:25

I know there is a bit of limitations for a random number generation in C++ (can be non-uniform). How can I generate a number from 1 to 14620?

Thank you.

8条回答
  •  北荒
    北荒 (楼主)
    2020-12-10 18:58

    the modulus operator is the most important, you can apply a limit with this modulus, check this out:

    // random numbers generation in C++ using builtin functions
    #include 
    
    using namespace std;
    
    #include 
    
    using std::setw;
    
    #include    // contains function prototype for rand
    
    int main()
    {
    // loop 20 times
    for ( int counter = 1; counter <= 20; counter++ ) {
    
        // pick random number from 1 to 6 and output it
        cout << setw( 10 ) << ( 1 + rand() % 6 );
    
        // if counter divisible by 5, begin new line of output
        if ( counter % 5 == 0 )
            cout << endl;
    
    }
    
    return 0;  // indicates successful termination
    
    } // end main
    

提交回复
热议问题