lab9
#include<iostream>
using namespace std;
int g(int a, int b) {
return b == 0 ? a : g(b, a % b);
}
void bbs(int s, int p, int q, int n) {
int m = p * q, x = s % m;
while (n--) {
x = (x * x) % m;
cout << x << " ";
}
cout << endl;
}
int main() {
int s, n, p = 499, q = 547, m = p * q;
if (p % 4 != 3 || q % 4 != 3) {
cout << "p and q must be ≡ 3 mod 4\n";
return 1;
}
cout << "Enter seed (coprime with " << m << "): ";
cin >> s;
if (g(s, m) != 1) {
cout << "Seed must be coprime with " << m << endl;
return 1;
}
cout << "Enter count: ";
cin >> n;
bbs(s, p, q, n);
}
Comments
Post a Comment