Hãy xem xét các số nguyên modulo q
ở đâu q
là số nguyên tố, một bộ tạo là bất kỳ số nguyên nào 1 < x < q
để x^1, x^2, ..., x^(q-1)
bao gồm tất cả q-1
các số nguyên giữa 1
và q-1
. Ví dụ, hãy xem xét các số nguyên modulo 7 (mà chúng tôi viết là Z_7
). Sau đó 3, 3^2 mod 7 = 2, 3^3 = 27 mod 7 = 6, 3^4 = 81 mod 7 = 4, 3^5 = 243 mod 7 = 5, 3^6 = 729 mod 7 = 1
bao gồm tất cả các giá trị 3, 2, 6, 4, 5, 1
bao gồm tất cả các số nguyên 1..6
theo yêu cầu.
Nhiệm vụ là viết mã nhận đầu vào n
và đầu ra một trình tạo Z_n
. Tất nhiên, bạn không thể sử dụng bất kỳ nội dung hoặc thư viện nào thực hiện điều này cho bạn.
Hạn chế duy nhất về hiệu suất của mã của bạn là bạn phải kiểm tra nó để hoàn thành n = 4257452468389
.
Lưu ý rằng 2^n
có nghĩa là 2
sức mạnh của n
. Đó là ^
đại diện cho cấp số nhân.
1 < x < q
làm cho thử thách imo dễ dàng hơn nhiều.