#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main() {
int a = 5, c = 3, m = 16, X0 = 1;
int n = 10;
vector<int> numbers;
vector<double> normalized;
int X = X0;
cout << "Generated LCG numbers: ";
for(int i = 0; i < n; i++) {
X = (a * X + c) % m;
numbers.push_back(X);
cout << X << " ";
}
cout << endl;
cout << "Normalized numbers: ";
for(int i = 0; i < n; i++) {
double norm = static_cast<double>(numbers[i]) / (m - 1);
normalized.push_back(norm);
cout << fixed << setprecision(2) << norm << " ";
}
cout << endl;
bool repetition = false;
for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) {
if(numbers[i] == numbers[j]) {
repetition = true;
break;
}
}
if(repetition) break;
}
if(repetition) {
cout << "There are repetitions in the sequence." << endl;
} else {
cout << "No repetitions in the sequence." << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW50IGEgPSA1LCBjID0gMywgbSA9IDE2LCBYMCA9IDE7CiAgICBpbnQgbiA9IDEwOwogICAgdmVjdG9yPGludD4gbnVtYmVyczsKICAgIHZlY3Rvcjxkb3VibGU+IG5vcm1hbGl6ZWQ7CgogICAgaW50IFggPSBYMDsKICAgIGNvdXQgPDwgIkdlbmVyYXRlZCBMQ0cgbnVtYmVyczogIjsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBYID0gKGEgKiBYICsgYykgJSBtOwogICAgICAgIG51bWJlcnMucHVzaF9iYWNrKFgpOwogICAgICAgIGNvdXQgPDwgWCA8PCAiICI7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7CgogICAgY291dCA8PCAiTm9ybWFsaXplZCBudW1iZXJzOiAiOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGRvdWJsZSBub3JtID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihudW1iZXJzW2ldKSAvIChtIC0gMSk7CiAgICAgICAgbm9ybWFsaXplZC5wdXNoX2JhY2sobm9ybSk7CiAgICAgICAgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oMikgPDwgbm9ybSA8PCAiICI7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7CgogICAgYm9vbCByZXBldGl0aW9uID0gZmFsc2U7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgZm9yKGludCBqID0gaSsxOyBqIDwgbjsgaisrKSB7CiAgICAgICAgICAgIGlmKG51bWJlcnNbaV0gPT0gbnVtYmVyc1tqXSkgewogICAgICAgICAgICAgICAgcmVwZXRpdGlvbiA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihyZXBldGl0aW9uKSBicmVhazsKICAgIH0KICAgIGlmKHJlcGV0aXRpb24pIHsKICAgICAgICBjb3V0IDw8ICJUaGVyZSBhcmUgcmVwZXRpdGlvbnMgaW4gdGhlIHNlcXVlbmNlLiIgPDwgZW5kbDsKICAgIH0gZWxzZSB7CiAgICAgICAgY291dCA8PCAiTm8gcmVwZXRpdGlvbnMgaW4gdGhlIHNlcXVlbmNlLiIgPDwgZW5kbDsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==