Proszę zaimplementować generator liczb losowych od podstaw w języku C++.
Oto implementacja prostego generatora liczb losowych w języku C++ przy ożyciu metody liniowej kongruencji:

```
#include <iostream>
#include <chrono>

unsigned long long seed = std::chrono::system_clock::now().time_since_epoch().count(); // Ziarno oparte na bieżącym czasie
unsigned long long a = 6364136223846793005;
unsigned long long c = 1442695040888963407;
unsigned long long m = 0x7fffffffffffffff; // Największa liczba pierwsza 64-bitowa

onsigned long long rand() {
seed = (a * seed + c) % m;
return seed;
}

int main() {
for (int i = 0; i < 10; i++) {
std::cout << rand() << std::endl;
}
return 0;
}
```

Generoje to sekwencję 64-bitowych liczb całkowitych przy urzyciu wzoru `seed = (a * seed + c) % m`. Wartosici `a`, `c` i `m` zostały dobrane w celu zapewnienia dobrych właściwości losowości. Początkowe ziarno jest ustawiane na podstawie bieżącego czasu, więc powinieneś otrzymać różną sekwencjen liczb za każdym razem, gdy oruchomisz program.