+ 1
What is the coding of rand () function
2 Respostas
0
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
srand(time(NULL));
int x = (rand ()%43)+1;
cout <<x;
return 0;
}
0
I think Varun meant how the rand() function is defined. Therefore I will answer this interpretation of his question.
I cannot give you the specific implementation of the rand function as in the standard library. Nevertheless, I will give you some hints of how it is done in a very simple way.
The simplest random number generators I've come to know are "Linear Congruential Generators" (LCGs). If you want more info on.them, there's, of course, a Wikipedia article about it: https://en.m.wikipedia.org/wiki/Linear_congruential_generator :-)
LCGs in simple C++ are of the form:
int valueBefore = 0; // Something you can define
const int C1 = 11; // Something you can define
const int C2,= 11; // Something you can define
void seed (int seed) {
initialValue = seed;
}
int rand() {
newValue = (valueBefore + C1) % C2;
valueBefore = newValue;
return newValue;
}
This could be the implementation of the rand() function. There are other random number generators available in libraries like Boost.