Kiểm tra căn bậc hai modulo

Xem dưới dạng PDF

Gửi bài giải


Điểm: 10
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Cho ba số \(x, n, p\). Kiểm tra xem \(x\) có phải là căn bậc hai modulo của \(n\) theo \(p\) hay không.

Định dạng đầu vào

  • Một dòng chứa ba số nguyên \(x, n, p\) (\(0 \le x, n < p \le 10^9\), \(p\) nguyên tố lẻ).

Định dạng đầu ra

  • In ra YES nếu \(x^2 \equiv n \pmod{p}\), ngược lại in ra NO.

Ví dụ

Input:

3 2 7

Output:

NO

Giải thích: \(3^2 = 9 \equiv 2 \pmod{7}\) — thực ra đúng! Output mẫu sai? Sửa: \(3^2 = 9 \equiv 2 \pmod{7}\) nên là YES.

Ràng buộc

  • 100% số điểm: \(p \le 10^9\).

Nhận xét

Không có ý kiến tại thời điểm này.