# Template:ROOT/Exercises/Trying Interactive ROOT

## Exercise

On an interactive ROOT session: Fill an array of 100 000 000 64Bit floating point numbers of the machine independent ROOT type `Double_t` with random numbers. Compute the mean of the array and print it to the console. Note the computation time.

Hint: You can get random real numbers by creating a pointer to an instance of the `TRandom` class. (The constructor takes one arbitrary integer as initialization.) Then you can call the method `TRandom::Rndm()` to get a simple pseudo random number uniformly distributed between 0 and 1. For example:

```TRandom *R = new TRandom(time(0));  // create a pointer to a new instance of TRandom in the heap
cout << R->Rndm() << endl;
```

## Solution

 root  Int_t nums = 100000000; // random numbers to generate
 root  TRandom *R = new TRandom(time(0));
 root  Double_t *seed = new Double_t[nums];
 root  for (Int_t i = 0; i < nums; i++) {
 end with '}', '@':abort > seed[i] = R->Rndm(); }
 root  // some 10-20 seconds later...
 root  Double_t mean = 0.0;
 root  for (Int_t i = 0; i < nums; i++) { // make use of pressing "uparrow" to recall the input of line 3
 end with '}', '@':abort > mean += seed[i]; }
 root  // some 5-15 seconds later...
 root  mean /= nums;
 root  cout << "mean = " << mean << endl;
 mean = 0.499963